2

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

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

当请求处理完成时,这一切不会被吹走吗?/ 是否有必要注销这些事件?

4

3 回答 3

3

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

有关更多信息,请参考此讨论

于 2008-10-22T01:21:57.203 回答
0

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

于 2008-10-22T01:15:09.433 回答
0

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

于 2008-10-22T01:20:35.537 回答