我有一个名为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();
}
Run Code Online (Sandbox Code Playgroud)
我读过C#Events会导致内存泄漏.那么,任何人都可以告诉我,如果我这样做错了吗?
谢谢.
| 归档时间: |
|
| 查看次数: |
1550 次 |
| 最近记录: |