3

現在、WebApiコントローラも含まれているMVCアプリケーションがあります。StructureMapを使用してWebApiコントローラにさまざまな依存関係を挿入する方法

MVCとWebApiの両方のサービス依存関係を処理する既定の規則を使用して、StructureMapを初期化するようにセットアップしました。これはすべて完全に機能します。

しかし、WebApiには1つの認証サービスの依存関係を、MVCには別の実装を導入する必要があります。 StructureMapは同じ初期化ブートストラップコードを持っているので、入ってくるリクエストがWebApiエンドポイントかMvcコントローラエンドポイントのどちらであるかによって、どのように切り替えるのですか?これは、これを達成するための最良の方法である場合

答えて

1

は分からないのですが、私は起動時に初期化レジストリを上書きしますが、MVCのDependencyResolver.SetResolver上とWEBAPIのGlobalConfigurationに各SetResolverの内側にこれを行うにはObjectFactory.Configureメソッドを使用します。プロパティ。

ObjectFactory.Configure(x => x.For<IAuthenticationService>() 
         .Use(s => s.GetInstance<IMvcAuthenticationService>())); 

ObjectFactory.Configure(x => x.For<IAuthenticationService>() 
         .Use(s => s.GetInstance<IWebApiAuthenticationService>())); 
関連する問題