考慮具有連接池內存泄漏問題(例如連接未正確關閉)的ASP.NET應用程序。IIS應用程序池和.NET垃圾回收
回收應用程序池是否清除連接池(從而允許建立更多連接)?
如果連接留在內存中,直到垃圾收集器刪除它們,這是否在應用程序池重新啓動時發生(或者它們是否可以超出該範圍)?我也明白垃圾收集器可以在任何時候清理它們,但它們是否仍在使用中,直到重置或應用程序池重新啓動才能收集?
我在審查一個系統,其中最終目標顯然是要糾正代碼以正確管理連接,並且我正試圖獲得對垃圾收集/應用程序池過程的更多理解。
幸運的我,我不會是一個不得不做的修復!真正的問題是在應用程序中過度使用datareaders ...沒有try/catch/finally塊,所以如果在處理代碼從不運行並且連接用完時發生錯誤... – davidsleeps 2009-07-20 11:19:17