2010-07-09 76 views
2

由於WebControls從實現IDisposable的Control繼承。是否有必要調用Dispose或將這些WebControl封裝在使用語句中以防止內存泄漏或ASP.NET自動處理?WebControls和IDisposable

+1

可能杜佩:爲什麼我需要調用Dispose ASP.Net控件(http://stackoverflow.com/questions/3150735/why-would-i-need-to-call-dispose-on-asp -net-controls) – Toby 2010-07-09 13:42:47

回答

0

ASP.NET處理它。因爲處置控制樹附帶的控件會導致意想不到的後果。你不知道什麼時候它完全用樹完成,所以最好讓ASP.NET在完成時擺脫它。

現在,如果您沒有將其附加到控制樹上,那是不同的,但我想這是一個真正的外部案例。

+0

那就是我的想法。謝謝凱文! – Brian 2010-07-09 13:49:20

2

只處理你創建的東西。您不會創建ASP.NET運行時控件實例,因此您不應該干擾它們的生命週期。

1

大部分時間沒有必要明確地調用對象的方法Dispose()。 GC會在需要時爲您做。

可以建議在重內存密集型流程,這樣做是爲了加快GC的工作,但除此之外,它會被稱爲無關,而無需干預,在某些時候。