【发布时间】:2016-08-13 14:24:47
【问题描述】:
我遇到构造注入失败的问题。
当我调用 Restful API 时,服务返回消息“尝试创建 'TasksController' 类型的控制器时发生错误。请确保控制器具有无参数的公共构造函数。”
这个问题的原因是由于构造函数中的参数错误,Web API Controller 无法构造类。
这是 Ninject 配置
container.Bind<IAddTaskQueryProcessor>().To<AddTaskQueryProcessor>().InRequestScope();
container.Bind<ITaskByIdQueryProcessor>().To<TaskByIdQueryProcessor>().InRequestScope();
container.Bind<IPagedDataRequestFactory>().To<PagedDataRequestFactory>().InSingletonScope();
container.Bind<IAllTasksInquiryProcessor>().To<AllTasksInquiryProcessor>().InRequestScope();
这是一个Controller类的构造函数。调用构造函数时注入参数。
public TasksController(IAddTaskMaintenanceProcessor addTaskMaintenanceProcessor, ITaskByIdInquiryProcessor taskByIdInquiryProcessor,
IUpdateTaskMaintenanceProcessor updateTaskMaintenanceProcessor,
IPagedDataRequestFactory pagedDataRequestFactory,
IAllTasksInquiryProcessor allTasksInquiryProcessor)
{
_addTaskMaintenanceProcessor = addTaskMaintenanceProcessor;
_taskByIdInquiryProcessor = taskByIdInquiryProcessor;
_updateTaskMaintenanceProcessor = updateTaskMaintenanceProcessor;
_pagedDataRequestFactory = pagedDataRequestFactory;
_allTasksInquiryProcessor = allTasksInquiryProcessor;
}
[环境]
ASP.NET Web API 2.1
N注入 3.2.2
如何检查构造函数中哪个参数错误?
【问题讨论】:
标签: ninject.web.mvc