我想在代码第一种方法中编写一个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