控制器:
private readonly IService _service;
public DisplayController(IService service)
{
_service = service;
}
public ActionResult Index(int resultid)
{
var response = _service.GetQuizResults(resultid);
var alltheresults = Mapper.Map<Services.Contracts.Model.Quiz, Quiz>(response);
return View(alltheresults);
}
错误:
InvalidOperationException:尝试创建时发生错误 控制器类型 &#39; Travelers.eBusiness.RiskQuiz.Web.Controllers.DisplayController&#39 ;.使 确保控制器具有无参数的公共构造函数
经过大量的谷歌搜索后,我确实添加了另一个构造函数:
public DisplayController()
{
}
确实解决了错误,但_service
变为空。
答案 0 :(得分:4)
看起来Unity无法找到IService
的已注册实现,因此无法创建控制器的实例。它当然可以使用刚刚添加的无参数构造函数创建一个,但是它不会注入IService
的实例。
您必须在应用程序启动时注册IService
的实现,并删除无参数构造函数。