我有一个Web用户控件,其中包含其他几个(Web用户)控件,并订阅了孩子们提出的事件。

我在某个类似的情况下看到某人在包含控件上提供Dispose()并取消注册它已订阅的事件。

当请求处理完成时,这一切都不会被吹走吗? /取消注册那些必要的事件?

有帮助吗?

解决方案

由于在不再引用包含控件本身时,所包含的控件(事件发布者)将不再被任何引用引用,因此应该对它们进行垃圾回收。当发生这种情况时,包含控件也可以被垃圾收集。由于这些对象都属于同一代,我不知道如何更快地收集容器。取消注册事件处理程序似乎没有必要。如果事件发布者是比容器更长寿的对象,那么它会有所帮助。

有关详细信息,请参阅此讨论

其他提示

我认为这不是必要的步骤。

正如您所说,页面(及其所有控件)在每次回发时都会重新创建,因此没有必要

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top