我有一个名为 CacheState 的 Singleton 类。此类发布许多事件。CacheState 有一个 System.Timers.Timer 循环和触发所有这些事件。
然后在我的 asp.net 应用程序中,我在 Application_Start 期间订阅这些事件。CacheState 中的 Timer 也在这段时间内启动:
protected void Application_Start(object sender, EventArgs e)
{
CacheState.Instance.ProductChangedEvent += (objSender, argsE) => ProductService.ReloadProductCache(false);
CacheState.Instance.PageflexChangedEvent += (objSender, argsE) => ProductService.ResetPageflexCache(false);
CacheState.Instance.DeliveryChangedEvent += (objSender, argsE) => PricingRuleService.ResetDeliveryMethodsCache(false);
CacheState.Instance.UIItemChangedEvent += (objSender, argsE) => TemplateService.ResetUIItemsCache(false);
CacheState.Instance.ProductAttributeChangedEvent += Instance_ProductAttributeChangedEvent;
CacheState.Instance.Start();
}
我读过 C# 事件会导致内存泄漏。那么,谁能告诉我我做错了吗?
谢谢。