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

Posted dongh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了global中拦截404错误的实现方法相关的知识,希望对你有一定的参考价值。

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错误的实现方法的主要内容,如果未能解决你的问题,请参考以下文章

axios 使用方法 以及服务器端 设置拦截发送404状态的提示语,当网络错误时候返回前端的提示, 当网络正常的时候返回后端的提示

在 ASP.NET 中实现 404 的最佳方法

在 Asp.net Web API 中捕获 404 错误

ASP.NET MVC 自定义错误处理 Application_Error Global.asax?

web开发中出现404、404、404的代码怎么解决?

如何在 HOC reactjs 中使用 history.push?