MVC 在 Application_Error中定义错误

来源:互联网 发布:protobuf.js 教程 编辑:程序博客网 时间:2024/04/27 23:31
<strong><span style="font-size:14px;">        protected void Application_Error()        {            if (Context.IsCustomErrorEnabled) ShowCustomErrorPage(Server.GetLastError());        }        /// <summary>        /// 错误显示处理        /// </summary>        private void ShowCustomErrorPage(Exception exception)        {            var httpException = exception as HttpException ?? new HttpException(500, "服务器内部错误", exception);            Response.Clear();            var routeData = new RouteData();            routeData.Values.Add("controller", "Error");            routeData.Values.Add("fromAppErrorEvent", true);            switch (httpException.GetHttpCode())            {                case 404:                    routeData.Values.Add("action", "HttpError404");                    break;                case 500:                    routeData.Values.Add("action", "HttpError500");                    break;                default:                    routeData.Values.Add("action", "GeneralError");                    routeData.Values.Add("httpStatusCode", httpException.GetHttpCode());                    break;            }            Server.ClearError();            IController controller = new ErrorController();            controller.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));        }</span></strong>

0 0
原创粉丝点击