在ASP.NET应用程序中存储单例实例的最佳实践

Xaq*_*ron 6 asp.net static global-asax

如果我们有一个单独的类,LoadBalancer并且每个ASP.NET应用程序需要一个实例,那么在哪里存储它?

目前我使用Application.Add("LoadBalancer", LoadBalancer.Instance)Application_Start()Global.asax.

此外,Application对象是由ASP.NET每个应用程序创建的,并且基于工作负载有多个实例.此外,我可以宣布static我的实例LoadBalancerGlobal.asax.

哪个更受欢迎?有什么好主意吗?

Cha*_*ndu 3

如果是单例为什么要存储在应用程序项中?当您从应用程序中的任何位置使用 LoadBalancer.Instance 时,它​​不应该返回相同的实例吗?

如果您的站点正在使用负载平衡或位于网络场中,则每个服务器都将拥有其 Application 对象和 LoadBalancer.Instance 的实例。