1

在以前版本的 StructureMap 中,我有这样的代码:

_container.Configure(config => 
    config
        .For<ILogger>.Use<TLogger>.Ctor<string>("loggerName")
        .Is((IContext ctx) => ctx.Root.RequestedType.ToString))

使用它,我能够将类名传递给我的记录器,这在自动布线场景中非常有帮助。

更新到 StrucureMap 3 后,上面的代码显示错误,我找不到 StructureMap 3 的正确代码。

TL;博士; Context.Root 在哪里?如何在StructureMap 3中访问它?

4

1 回答 1

0

看来我一开始就错了。

而不是Context.Root,我可以使用Context.ParentType并完成我想要的。

此链接中提供的示例:http: //docs.structuremap.net/UsingSessionContext.htm#section1(记录器示例)帮助我找到了解决方案。

于 2014-04-21T21:10:51.167 回答