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

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

另外,Application对象由ASP.NET创建,并且基于工作负载每个应用程序有多个实例。我也可以在static中声明自己LoadBalancerGlobal.asax实例。

哪个是首选?还有更好的主意吗?

最佳答案

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

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

10-08 04:48