如果我们有一个像LoadBalancer
这样的单例类,并且每个ASP.NET
应用程序需要一个实例,那么将其存储在哪里?
目前,我在Application.Add("LoadBalancer", LoadBalancer.Instance)
中的Application_Start()
中使用Global.asax
。
另外,Application
对象由ASP.NET
创建,并且基于工作负载每个应用程序有多个实例。我也可以在static
中声明自己LoadBalancer
的Global.asax
实例。
哪个是首选?还有更好的主意吗?
最佳答案
如果是Singleton,为什么要存储在Application项目中?当您从应用程序中的任何位置使用LoadBalancer.Instance时,它不应该返回相同的实例吗?
如果您的站点正在使用负载平衡或在Web场中,则每个服务器将具有其Application对象和LoadBalancer.Instance的实例。