Могу ли я обработать все ошибки через ASP.Net? - PullRequest
1 голос
/ 17 февраля 2011

Я пытаюсь создать страницу обработки 404, но я застрял на странице, работающей только для файлов .aspx, а это не совсем то, что мне нужно.

Я работаю на IIS6. На сайте есть подстановочный знак для URL без расширений. Все запросы проходят через Application_BeginRequest в Global.asax, но не все ошибки проходят через Application_Error.

Есть ли способ, где я могу получить ошибку Application_Error для файлов не .aspx?

Это код внутри Application_Error

HttpException serverError = (HttpException)Server.GetLastError();

if (serverError != null) {
    int errorCode = serverError.GetHttpCode();
    if (errorCode == 404) {
        Server.ClearError();
        Server.Transfer("/errorPage.aspx");
    }
}

1 Ответ

1 голос
/ 17 февраля 2011

Единственный способ, которым я успешно справился с этим в IIS 6, - это добавить специальный обработчик для 404 в пользовательских ошибках IIS, который указывает на один из ваших файлов .aspx или .ashx (т.е. указывает на ваш errorPage.aspx).

...