我在哪里可以找到 MVC 6 的 IController?
Where can I find IController for MVC 6?
protected virtual IActionResult InvokeHttp404()
{
IController errorController = EngineContext.Current.Resolve<CommonController>();
var routeData = new RouteData();
routeData.Values.Add("controller", "Common");
routeData.Values.Add("action", "PageNotFound");
errorController.Execute(new RequestContext(HttpContext, routeData));
return new EmptyResult();
}
在新的 Microsoft.AspNet.Mvc 中,找不到 IController 并且 Execute 不是 IController 的一部分。
没有 - Controller inherits from ControllerBase。
在您的场景中,您需要解析对 CommonController
而非 IController
类型的引用,您可以使用它直接调用您的操作方法。像;
CommonController errorController = EngineContext.Current.Resolve<CommonController>();
errorController.PageNotFound();
return new EmptyResult();
protected virtual IActionResult InvokeHttp404()
{
IController errorController = EngineContext.Current.Resolve<CommonController>();
var routeData = new RouteData();
routeData.Values.Add("controller", "Common");
routeData.Values.Add("action", "PageNotFound");
errorController.Execute(new RequestContext(HttpContext, routeData));
return new EmptyResult();
}
在新的 Microsoft.AspNet.Mvc 中,找不到 IController 并且 Execute 不是 IController 的一部分。
没有 - Controller inherits from ControllerBase。
在您的场景中,您需要解析对 CommonController
而非 IController
类型的引用,您可以使用它直接调用您的操作方法。像;
CommonController errorController = EngineContext.Current.Resolve<CommonController>();
errorController.PageNotFound();
return new EmptyResult();