【发布时间】:2016-01-12 18:41:05
【问题描述】:
当出现未处理的错误时,我已经全局编写了一些代码来重定向到自定义 MVC 操作。
此代码在 Chrome 中运行良好,但在 IE 和 Edge 中失败。 IE & Edge 正在显示它们的默认错误页面。
这是我 global.asax 的 Application_Error
protected void Application_Error(object sender, EventArgs e)
{
var lastException = Server.GetLastError();
var wrappedContext = new HttpContextWrapper(Context);
wrappedContext.Response.StatusCode = (lastException as HttpException)?.GetHttpCode() ?? 500;
wrappedContext.Response.Clear();
wrappedContext.Response.TrySkipIisCustomErrors = true;
wrappedContext.Server.ClearError();
var routeData = new RouteData();
routeData.Values.Add("area", "");
routeData.Values.Add("controller", "Error");
routeData.Values.Add("action", "Index");
routeData.Values.Add("httpResponseCode", Context.Response.StatusCode);
IController errorController = DependencyResolver.Current.GetService<ErrorController>();
errorController.Execute(new RequestContext(wrappedContext, routeData));
}
【问题讨论】:
标签: asp.net-mvc internet-explorer asp.net-mvc-5 global-asax