ストラクチャマップを使用してコンフィグレーションを行うときに、ブートストラップの問題を発生させずにサービスを構築するためにStructureMapを使用するようにAutoMapper 5に指示する方法ブートストラップAutoMapper&StructureMapからConstructServicesUsing
カスタムリゾルバは、AutoMapperで使用するサービスロケータが必要ですが、AutoMapperがStructureMapレジストリ内で初期化されている間には存在しません。静的ObjectFactory.Container
はのStructureMapに廃止されましたので、私は怠け者のObjectFactoryを持っている:
public static class ObjectFactory
{
private static readonly Lazy<Container> _containerBuilder =
new Lazy<Container>(defaultContainer, LazyThreadSafetyMode.ExecutionAndPublication);
public static IContainer Container
{
get { return _containerBuilder.Value; }
}
private static Container defaultContainer()
{
return new Container(x =>
{
x.AddRegistry<MyRegistry>(); // AutoMapper is configured here
});
}
}
私は、スタックオーバーフローまたは「怠惰な工場内で参照値」を取得するので、私はAutoMapperプロファイルからObjectFactory.Container
を参照することはできません。
AutoMapperの設定後に.ConstructUsing(some_IContainer)
をタックする方法はありますか?