配置structuremap以使用工厂类创建实例

时间:2013-08-09 17:39:06

标签: structuremap

我想配置structuremap以使用工厂类创建服务。工厂本身具有需要填充的依赖性。目前我在我的注册表类中有以下内容:

For<IDoStuffWebService>().Singleton().Use(() => 
    new DoStuffWebServiceClientFactory(new ConfigProvider()).Create()
);

我不需要对具体类型DoStuffWebServiceClientFactory进行硬编码并手动填充它的依赖关系,而是希望structmap为我获取它(它实现了IDoStuffWebServiceClientFactory)。看起来IContext可能有所帮助(http://docs.structuremap.net/UsingSessionContext.htm),但我很难弄清楚这是怎么回事。

任何帮助非常感谢。 罗杰。

1 个答案:

答案 0 :(得分:6)

要在Use方法中使用structuremap上下文,您可以使用以上下文作为参数的重载方法。

For<IDoStuffWebService>().Singleton().Use(ctx => ctx.GetInstance<IDoStuffWebServiceClientFactory>().Create());