我有一个自行开发的框架,其中包含一个使用静态Dictionary实现的简单ServiceLocator类。它是为WinForms环境开发的,做了我想要的就好了。
在ASP.Net框架中使用框架时,这被证明是一种灾难; Dictionary,一个静态变量,在首次使用时进行实例化,每个ASP.Net应用程序都使用相同的字典。这不是我的设计意图。
例如,Web应用程序尝试注册数据库审计服务IAuditService。错误!!该服务已由第一位用户注册!只是ASP.Net环境中可能出现的静态变量问题的一小部分。
我已经尝试过Autofac IOC。我可以通过使用Autofac(或其他一些IOC)来避免我的静态变量问题吗?
... BP
答案 0 :(得分:0)
你可以使用IOC框架,但是如果你想让对象留在你身边,你必须自己存储它,否则你每次都会从IOC容器中要求一个新对象。
答案 1 :(得分:0)
我向特定于Web应用程序的ServiceLocation添加了一个新的实例化类型。