Как обработать ошибку 404 на сервере в asp.net - PullRequest
0 голосов
/ 08 февраля 2019

Я использую приведенный ниже код:

<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>

Приведенный выше код работает нормально на локальном сервере, но при загрузке на сервер 404 исключения не перенаправляются на страницу ошибки.

Iполучить ниже Ошибка на сервере: enter image description here

1 Ответ

0 голосов
/ 08 февраля 2019

создать этот метод в 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));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...