1

の使用法は何AutofacWebApiDependencyResolverですか?

私は次のように設定しました:

GlobalConfiguration.Configuration.DependencyResolver = 
    new AutofacWebApiDependencyResolver(container);

しかし、どうすれば自分ApiControllerの s でアクセスできますか?

DependencyResolver.Currentではなく、AutofacWebApiDependencyResolverMVC バージョンです。

.Currentの下では利用できますが、 の下では利用できAutofacDependencyResolverませんAutofacWebApiDependencyResolver。Web API で Web API バージョンにアクセスするにはどうすればよいですか?

4

2 に答える 2

1

あなたが自分自身を示したように...GlobalConfiguration.Configuration.DependencyResolver最初に設定したときと同じ方法で、このリゾルバーにアクセスするために使用します(Web APIのどこからでもアクセスできる静的オブジェクトです)。

または、リクエストの依存関係スコープを使用します - 現在のリクエストにアクセスできる場所 (つまりMessageHandler):

var myservice = request.GetDependencyScope().GetService(typeof(IMyService)) as IMyService

これはIMyService、現在の設定を使用して解決されますAutofacWebApiDependencyResolver

于 2013-01-28T15:35:59.437 に答える
0

簡単な方法を試してください:this.Configuration.DependencyResolverはインスタンスですthisApiController

于 2013-02-05T18:07:28.067 に答える