简体   繁体   English

如何处理ASP.NET中服务器上的404错误

[英]How to handle 404 error on server in asp.net

I have use below code: 我使用以下代码:

<customErrors mode="On" defaultRedirect="~/ErrorPage/Default.aspx">
      <error statusCode="403" redirect="~/ErrorPage/Default.aspx"/>
      <error statusCode="404" redirect="~/ErrorPage/Default.aspx"/>
      <error statusCode="400" redirect="~/ErrorPage/Default.aspx"/>
      <error statusCode="500" redirect="~/ErrorPage/Default.aspx"/>
</customErrors>

The above code is working fine in localserver but when uploading on the server then 404 exceptions is not redirected to the error page. 上面的代码在localserver上运行正常,但是在服务器上上传时,404异常不会重定向到错误页面。

I get below Error in server: 我得到以下服务器错误: 在此处输入图片说明

create this methode in global.asax 在global.asax中创建此方法

    public void Application_Error()
    {
    var routeData = new RouteData();
        routeData.Values.Add("controller", "yourControllerNameForError");
        routeData.Values.Add("action", "YourActionMethodeForError");

        if (exception is HttpException httpException)
        {              
            switch (httpException.GetHttpCode())
            {
                case 404:            
                    routeData.Values["action"] =  "Your404MethodeError";
                    break;                 
            }
        }

        Server.ClearError();
        Response.TrySkipIisCustomErrors = true;
        IController errorController = new ErrorController();
        errorController.Execute(new System.Web.Routing.RequestContext (
             new HttpContextWrapper(Context), routeData));
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM