2009-09-21 168 views
0

我有一个本土的框架,包括使用静态字典实现了一个简单的ServiceLocator类。它是为WinForms环境开发的,并做了我想要的。服务定位器/ IOC在ASP.Net环境

这被证明是在作为ASP.Net框架使用框架,当灾难; Dictionary是一个静态变量,在首次使用时会立即执行,并且每个ASP.Net应用程序都使用相同的字典。这不是我的设计意图。

例如,web应用程序试图注册一个DB审计处,IAuditService。错误!!该服务已由第一位用户注册!只是ASP.Net环境中可能出现的静态变量问题的一部分。

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

BP ....

回答

0

我一个新的实例类型添加到特定的Web应用程序我的serviceLocation。

0

您可以使用IOC框架,但如果你希望对象留下来,你将不得不自己动手存储,否则,你只会被要求从每一次一个新的对象国际奥委会容器。

+0

我不希望对象(即服务注册)停留在比当前请求更长的时间。当前请求请求的注册需要独立于可能需要实现特定接口的任何其他请求。 BP .... – theBruce 2009-09-21 18:52:52

+0

那么你可以使用IOC容器......我用StructureMap,它极大地帮助了我的软件设计。 – CSharpAtl 2009-09-22 16:31:04

相关问题