0

我有一个本土框架,其中包括一个使用静态字典实现的简单 ServiceLocator 类。它是为 WinForms 环境开发的,可以很好地完成我想要的。

当在 ASP.Net 框架中使用该框架时,这被证明是一场灾难;Dictionary 是一个静态变量,在第一次使用时会被实例化,并且每个 ASP.Net 应用程序都使用相同的字典。这不是我的设计意图。

例如,Web 应用程序尝试注册数据库审计服务 IAudiService。错误!!该服务已由第一个用户注册!只是在 ASP.Net 环境中可能发生的静态变量问题的一小部分。

我已经尝试过 Autofac IOC。我可以通过使用 Autofac(或其他一些 IOC)来避免我的静态变量问题吗?

英国石油公司……

4

2 回答 2

0

您可以使用 IOC 框架,但如果您希望对象保持不变,则必须自己存储它,否则您每次都会从 IOC 容器中请求一个新对象。

于 2009-09-21T18:48:31.133 回答
0

我将新的实例化类型添加到特定于 Web 应用程序的 ServiceLocation。

于 2010-11-23T21:38:09.503 回答