首页 > 其他 > 详细

global中拦截404错误的实现方法

时间:2018-09-17 11:15:41      阅读:189      评论:0      收藏:0      [点我收藏+]
void Application_Error(object sender, EventArgs e)
    {
    if(Context != null)
    {
    HttpContext ctx = HttpContext.Current;
    Exception ex = ctx.Server.GetLastError();
    HttpException ev = ex as HttpException;
    if(ev!= null)
    {
    if(ev.GetHttpCode() == 404)
    {
    ctx.ClearError();
    Response.Redirect("~/nofound.aspx", false);
    Response.End();
    }
    else
    {
    Server.Transfer("~/Error.aspx", false);
    }
    }
    }
    }
//全站 Error 处理
        protected void Application_Error()
        {
            //获取关于当前请求的 HTTP 特定信息。
            if (Context != null)
            {
                Exception ex = HttpContext.Current.Server.GetLastError() as Exception;
                //HttpException ex = Context.Server.GetLastError() as HttpException;
                if (ex != null)
                {
                    //404
                    if (ex is HttpException)
                    {
                        HttpException hEx = ex as HttpException;
                        if (hEx.GetHttpCode() == 404)
                        {
                            Context.ClearError();
                            Context.Response.Redirect("~/RouteOne/NotFind/?from=" + Context.Request.UrlReferrer);
                            Context.Response.End();
                        }
                    }
                    else
                    {
                        //服务器错误
                        //Context.Server.Transfer("~/RouteOne/Error/?msg=" + ex.Message);
                        Context.Response.Redirect("~/RouteOne/Error/?msg=" + Context.Request.UrlReferrer);
                        Context.Response.End();
                    }
                }
            }
        }

 

global中拦截404错误的实现方法

原文:https://www.cnblogs.com/dongh/p/9660888.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!