【发布时间】:2010-11-23 04:20:59
【问题描述】:
假设我有一个在应用程序期间存在的对象。我们称它为 GlobalWorker。 GlobalWorker 有事件,例如其他对象可以订阅的 UserLoggedIn。现在想象一下,我有一个 Silverlight 页面或一个 asp.net 页面或其他东西,它在构造时订阅了 UserLoggedIn 事件。
public SomePage()
{
GlobalWorker.Instance.UserLoggedIn += new EventHandler(OnUserLoggedIn);
}
private void OnLoggedIn(object sender, EventArgs e)
{
}
此事件的存在是否会阻止页面被垃圾收集?如果是这样,在这种情况下使用的最佳模式是什么:弱事件处理程序,将订阅移动到 Load 事件并在 UnLoad 事件中取消订阅?
【问题讨论】:
标签: c# event-handling