我想在代碼第一種方法中編寫一個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;
}
}
誰能請幫助我如何解決這個問題?我沒有得到構造函數部分中的錯誤。在調試時,它不會觸及斷點。
爲什麼我會收到此錯誤?
您是否將[依賴解析器](https://msdn.microsoft.com/en-us/library/system.web.mvc.dependencyresolver(v = vs.118).aspx)設置爲使用您的DI容器? – john
你在使用依賴注入框架嗎?如果是這樣,你可以包括你如何設置它的細節,以及你如何註冊依賴解析器。如果沒有,那麼這就是你的問題,要搜索如何使用像Ninject,SimpleInjector或Autofac for ASP.NET這樣的框架。 –
不,這是nopcommerce項目,我只需要添加一個api項目,但它顯示錯誤。請幫我解決這個問題 – user355