1

以前のバージョンの StructureMap では、次のようなコードがありました。

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

これを使用して、クラス名をロガーに渡すことができ、自動配線シナリオで非常に役立ちました。

StrucureMap 3 に更新した後、上記のコードでエラーが表示され、StrucureMap 3 の正しいコードが見つかりません。

TL;DR; Context.Root はどこにありますか? StructureMap 3でアクセスするにはどうすればよいですか?

4

1 に答える 1

0

そもそも私が間違っていたようです。

の代わりに、私が望んでいたことをContext.Root使用して達成することができます。Context.ParentType

このリンクで入手可能なサンプル: http://docs.structuremap.net/UsingSessionContext.htm#section1 (Logger Sample) は、解決策を見つけるのに役立ちました。

于 2014-04-21T21:10:51.167 に答える