考虑具有连接池内存泄漏问题(例如连接未正确关闭)的ASP.NET应用程序。IIS应用程序池和.NET垃圾回收
回收应用程序池是否清除连接池(从而允许建立更多连接)?
如果连接留在内存中,直到垃圾收集器删除它们,这是否在应用程序池重新启动时发生(或者它们是否可以超出该范围)?我也明白垃圾收集器可以在任何时候清理它们,但它们是否仍在使用中,直到重置或应用程序池重新启动才能收集?
我在审查一个系统,其中最终目标显然是要纠正代码以正确管理连接,并且我正试图获得对垃圾收集/应用程序池过程的更多理解。
幸运的我,我不会是一个不得不做的修复!真正的问题是在应用程序中过度使用datareaders ...没有try/catch/finally块,所以如果在处理代码从不运行并且连接用完时发生错误... – davidsleeps 2009-07-20 11:19:17