0

webapi に autofac を統合しようとしていますが、機能させるのに問題があります。私のコントローラーコンストラクターの署名は次のとおりです。

public class AController: ApiController
{
  public AController(IComponentContext componentContext)
  {}
}

私のglobal.asaxファイルでは、Application_Startで次のコードを呼び出しました

protected void Application_Start()
{
   var builder = new ContainerBuilder();
   builder.RegisterApiControllers();
   container = builder.Build();
   var resolver = new AutofacWebApiDependencyResolver(container);
   GlobalConfiguration.Configuration.DependencyResolver = resolver;

}

アプリケーションを実行してリソース「/api/A」にアクセスしようとすると、コントローラーにデフォルトのコンストラクターがないことを示すエラー 500 がサーバーから返されます。私の場合、コンテナを注入するのは AutofacWebApiDependencyResolver のタスクだと思いました。問題を解決するにはどうすればよいですか?

ありがとう、

4

1 に答える 1

2

問題が見つかりました。

この行を次のように更新します

builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); 

問題を整理します。

于 2012-06-26T17:53:30.067 に答える