我正在尝试使用两种方法自定义 MVC4 应用程序中的错误页面:
1.我已经涵盖了以下情况Application_Error
:
RouteData routeData = new RouteData();
routeData.Values.Add("code", errorCode); //this code is from generated exception
routeData.Values.Add("action", "Index");
routeData.Values.Add("controller", "Error");
IController errorController = new ErrorController();
errorController.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
2.将“Catch All”路由添加到我的路由表中:
RouteHelper.MapRoute(
"CatchAll",
"{*catchAll}",
defaults: new { controller = "Error", action = "Index", code = "404" }
);
但是,当我像这样输入 URL 时仍然遇到黄屏死机(注意最后的字符):
localhost/Home/Index.
运行时错误
描述:处理您的请求时发生异常。此外,在执行第一个异常的自定义错误页面时发生了另一个异常。请求已终止。
我认为任何 YSOD 都应该触发Application_Error
,但事实并非如此。我错过了什么?