2

我想配置结构映射以使用工厂类创建服务。工厂本身有一个需要填充的依赖项。目前我的注册表类中有以下内容:

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

我不需要对具体类型 DoStuffWebServiceClientFactory 进行硬编码并手动填充它的依赖项,而是希望结构映射为我获取它(它实现了 IDoStuffWebServiceClientFactory)。看起来 IContext 可能会有所帮助(http://docs.structuremap.net/UsingSessionContext.htm),但我正在努力弄清楚这如何适合。

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

4

1 回答 1

6

要在 Use 方法中使用结构映射上下文,您可以使用将上下文作为参数的重载方法。

For<IDoStuffWebService>().Singleton().Use(ctx => ctx.GetInstance<IDoStuffWebServiceClientFactory>().Create());
于 2013-08-09T18:07:38.363 回答