StructureMap有两个初始值设定项

时间:2012-11-20 18:10:42

标签: c# asp.net asp.net-mvc-3 structuremap

我有3个项目。

  1
 / \   - inheritance
2   3

1个项目有ObjectFactory.Initialize ... 我有1个接口和两个实现。 我想为2个和3个项目使用两个不同的实现。 我该怎么办? 是否可以使用StructureMap?

2 个答案:

答案 0 :(得分:1)

StructureMap不是限制因素。您的2个接口实现属于哪个项目?

如果他们在项目2和3中,那么你需要在项目2和3中进行ObjectFactory.Initialize,你知道要使用哪个接口实现。

如果它们在项目1中,您可以在项目1中创建两个新类,以项目2和3所需的方式初始化容器,然后确保为每个相应项目使用正确的类。

在这两种情况下,您需要两种不同的方法来构建容器以支持最终结果,即您的案例中的项目2和3。

答案 1 :(得分:1)

解决方案结束。 在基础项目中,我应该初始化:

ObjectFactory.Initialize(x => x...)

但是在依赖项目中我应该在基础项目初始化之后进行配置:

ObjectFactory.Configure(x => x...)