Обработка исключений Global.asax и коды ошибок HTTP - PullRequest
0 голосов
/ 18 сентября 2010

У меня довольно стандартное приложение MVC2, работающее на 4.0 и под IIS6.Я использовал подход фильтра подстановочных знаков для маршрутизации всех запросов к фильтру ISAPI asp.net.Пока все хорошо.

Теперь я добавил некоторый код в Application_Error в global.asax для перехвата исключений и отправки мне стека по электронной почте и т. Д. Это также отлично работает.

Но яполучение всех видов 404 связанных трафика.В основном «Контроллер для пути '/favicon.ico' не найден или не реализует IController», но я могу себе представить, что скоро получу запросы robot.txt и т. Д.

Есть ли способ, которым я могу получитькод ошибки HTTP из HttpContext.Current.Server.GetLastError ()?Затем я могу просто проигнорировать все 404 результатов.Или есть другой подход, на который я должен смотреть?

Ответы [ 2 ]

2 голосов
/ 18 сентября 2010

Задайте вопрос, найдите ответ ....

Мне нужно проверить это, но это выглядит многообещающе.

var ex = HttpContext.Current.Server.GetLastError();

// filter out 404 responses
var httpException = ex as HttpException;
if (httpException != null && httpException.GetHttpCode() == 404)
    return;
2 голосов
/ 18 сентября 2010

Что касается значка, вы можете сделать это в Global.asax, чтобы добавить маршрут игнорирования:

routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...