リポジトリの助けを借りた作業単位とコンテナとしてAutofacを使用してWeb APIを作成しています。依存関係は、24時間前に完全に注入されたが、突然、私は今日の仕事を始めたとき、私は「メッセージ」WebApi DI Autofac - コントローラにパラメータのないpublicコンストラクタがあることを確認してください。
エラーを受け取るに保管なっていた:「エラーが発生しました。」、「ExceptionMessage」:「しようとしたときにエラー が発生しました。。タイプ のコントローラを作成するための「SearchController」コントローラは、パラメータなし publicコンストラクタを持っていることを確認してください」、 『ExceptionType』: 『System.InvalidOperationExceptionが』、
私は私の署名とどのように私が含まれますタイプを登録していて、誰かが何のmiを指摘できたら本当にうれしい私のコードで間違っているだろう。私のWeb APIコントローラで
、私は仕事の
private IUnitOfWork<Listing> _unitOfWork = null;
public SearchController(IUnitOfWork<Listing> unitOfWork)
{
_unitOfWork = unitOfWork;
}
ユニットは、リポジトリを作成するために、ジェネリック型パラメータを取りました。私WebApiConfig.csで
は、私は>私はIUnitOfWork <に取るコンストラクタを使用するSearchControllerを登録してい
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>));
builder.RegisterGeneric(typeof(UnitOfWork<>)).As(typeof(IUnitOfWork<>)).InstancePerDependency();
builder.RegisterType(typeof(SearchController)).UsingConstructor(typeof(IUnitOfWork<Listing>));
以下のようなタイプを登録しています。 Mocked単体テストを追加する前にうまくいっていましたが、何らかの目的でこのエラーが発生しています。私はまた、DependencyResolverを登録した
var container = builder.Build();
var resolver = new AutofacWebApiDependencyResolver(container);
config.DependencyResolver = resolver;
アリとそれを構成するには、どのように良いサンプルが、私はあなたの例を試してみましたが、私はWebAPIのために同じ「パラメーターなしのパブリックコンストラクタ」エラーが発生します。 MVC AutoFacコードを使用した場合と同じメッセージです。私はMVCアプリでこれを持っていますが、これを紛失してしまいます。共有できる他の方向はありますか? –