【问题标题】:WebControls and IDisposableWebControls 和 IDisposable
【发布时间】:2010-07-09 13:37:38
【问题描述】:

由于 WebControls 继承自实现 IDisposable 的 Control。是否有必要调用 Dispose 或将这些 WebControls 包装在 using 语句中以防止内存泄漏或 ASP.NET 是否会自动处理?

【问题讨论】:

标签: c# asp.net memory-leaks idisposable web-controls


【解决方案1】:

仅处置您创建的内容。您无需创建控件实例,而 ASP.NET 运行时会创建,因此您不应干扰它们的生命周期。

【讨论】:

    【解决方案2】:

    大多数时候不需要显式调用对象的Dispose() 方法。 GC 会在需要时为您完成。

    建议在内存密集型进程中这样做以加快 GC 的工作,否则它将在某些时候在没有您干预的情况下被调用。

    【讨论】:

      【解决方案3】:

      ASP.NET 处理它。它必须因为处置附加到控件树的控件会导致意想不到的后果。你不知道它什么时候真正完成了树,所以最好让 ASP.NET 完成后将其删除。

      现在,如果您不将它附加到控制树,那就不同了,但我猜这是一个真实的外部案例。

      【讨论】:

      • 这就是我的想法。谢谢凯文!
      猜你喜欢
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      • 2011-04-22
      • 2011-02-07
      • 2013-07-30
      相关资源
      最近更新 更多