【发布时间】:2010-07-09 13:37:38
【问题描述】:
由于 WebControls 继承自实现 IDisposable 的 Control。是否有必要调用 Dispose 或将这些 WebControls 包装在 using 语句中以防止内存泄漏或 ASP.NET 是否会自动处理?
【问题讨论】:
标签: c# asp.net memory-leaks idisposable web-controls
由于 WebControls 继承自实现 IDisposable 的 Control。是否有必要调用 Dispose 或将这些 WebControls 包装在 using 语句中以防止内存泄漏或 ASP.NET 是否会自动处理?
【问题讨论】:
标签: c# asp.net memory-leaks idisposable web-controls
仅处置您创建的内容。您无需创建控件实例,而 ASP.NET 运行时会创建,因此您不应干扰它们的生命周期。
【讨论】:
大多数时候不需要显式调用对象的Dispose() 方法。 GC 会在需要时为您完成。
建议在内存密集型进程中这样做以加快 GC 的工作,否则它将在某些时候在没有您干预的情况下被调用。
【讨论】:
ASP.NET 处理它。它必须因为处置附加到控件树的控件会导致意想不到的后果。你不知道它什么时候真正完成了树,所以最好让 ASP.NET 完成后将其删除。
现在,如果您不将它附加到控制树,那就不同了,但我猜这是一个真实的外部案例。
【讨论】: