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的一部分。
答案 0 :(得分:2)
没有一个 - Controller继承自ControllerBase。
在您的方案中,您需要解析对CommonController
而不是IController
类型的引用,您可以使用该引用直接调用您的操作方法。喜欢的东西;
CommonController errorController = EngineContext.Current.Resolve<CommonController>();
errorController.PageNotFound();
return new EmptyResult();