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

rog*_*ito 2 structuremap

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

For<IDoStuffWebService>().Singleton().Use(() => 
    new DoStuffWebServiceClientFactory(new ConfigProvider()).Create()
);
Run Code Online (Sandbox Code Playgroud)

而不是必须硬编码具体类型DoStuffWebServiceClientFactory并手动填充它的依赖项,我希望structuremap为我得到它(它实现了IDoStuffWebServiceClientFactory).看起来IContext可能有所帮助(http://docs.structuremap.net/UsingSessionContext.htm),但我很难弄清楚这是如何适合的.

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

Mag*_*son 6

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

For<IDoStuffWebService>().Singleton().Use(ctx => ctx.GetInstance<IDoStuffWebServiceClientFactory>().Create());
Run Code Online (Sandbox Code Playgroud)