我在哪里可以找到适用于MVC 6的IController?

时间:2015-12-18 01:42:34

标签: c# asp.net-core-mvc

        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的一部分。

1 个答案:

答案 0 :(得分:2)

没有一个 - Controller继承自ControllerBase

在您的方案中,您需要解析对CommonController而不是IController类型的引用,您可以使用该引用直接调用您的操作方法。喜欢的东西;

CommonController errorController = EngineContext.Current.Resolve<CommonController>();
errorController.PageNotFound();
return new EmptyResult();