0

我有一个 UnityContainer,它在运行时在 MVC Web 应用程序的 global.asax 文件中获取它的配置信息。

我在另一个程序集中也有需要访问此容器的服务,以便他们可以手动执行解决方案。

我怎样才能最好地分享这两个?我不想在我的数据程序集和 MVC 之间有引用,但我希望数据程序集能够访问由 Web 应用程序配置的 UnityContainer。

我想知道在这种情况下其他人在做什么。

4

2 回答 2

1

我只是将容器注册到自身中,然后让依赖项在整个引用层级联。

IE

// 配置容器

等等等等等等

//注册自己

Container.RegisterInstance(Container);

然后任何需要它的人都将它作为依赖属性或构造函数参数。

于 2009-06-23T22:13:16.237 回答
0

我正在使用 StructureMap(类似工具)并且通常在解决方案中跨项目共享我的配置。这意味着它们本身并不直接共享相同的对象,除非它们在相同的上下文中工作。在一个简单的应用程序中,网站正在加载程序集以执行从控制器到业务层然后进入 dal 的工作......他们确实使用了相同的对象。但是,只要您需要将层放入物理上独立的层(硬件),那么配置就可以使用它。这成为当时的部署问题。

于 2009-06-23T22:05:20.590 回答