APIプロジェクトをコードの最初の方法で記述しようとしています。コードを記述しましたが、エラーが表示されますmvc apiプロジェクトでコンストラクタを書く方法
タイプが 'CatalogController'のコントローラを作成しようとしたときにエラーが発生しました。コントローラにパラメータのないパブリックコンストラクタがあることを確認します。
と
タイプ
Nop.Api.Controllers.CatalogController
は、デフォルトコンストラクタを持っていない
コントローラ
public class CatalogController : ApiController
{
private readonly ICatalogModelFactory _catalogModelFactory;
public CatalogController(ICatalogModelFactory catalogModelFactory)
{
_catalogModelFactory = catalogModelFactory;
}
public HttpResponseMessage HomepageCategories()
{
HttpResponseMessage response = new HttpResponseMessage();
var model = _catalogModelFactory.PrepareHomepageCategoryModels();
var result = JsonConvert.SerializeObject(model);
response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(result) };
return response;
}
}
誰がどのようにこのエラーを解決するために私を助けてくださいことはできますか?私はコンストラクターの部分で何が間違っているのかを知りません。これをデバッグするとき、ブレークポイントには当たらない。
なぜこのエラーが発生しますか?
DIコンテナを使用するには[依存関係リゾルバ](https://msdn.microsoft.com/en-us/library/system.web.mvc.dependencyresolver(v = versus118).aspx)を設定していますか? – john
依存性注入フレームワークを使用していますか?もしそうなら、それを設定した方法の詳細と、依存関係リゾルバの登録方法を含めることができます。そうでない場合は、これが問題です.Ninject、SimpleInjector、またはAutofac for ASP.NETのようなフレームワークを使用する方法を検索してください。 –
いいえ、これはnopcommerceプロジェクトです。私はapiプロジェクトを追加する必要がありますが、エラーが表示されます。この問題を解決するのを手伝ってください – user355