Показать хорошее представление об ошибках в ASP.NET MVC и по-прежнему заставлять ELMAH отправлять сообщение

Я использую фильтр из MvcContrib, который вызывает хорошие страницы ошибок, мои собственные представления, которые будут отображаться при возникновении ошибки. Проблема в том, что когда это происходит, ELMAH не отправляет мне электронное письмо о проблеме, и я все еще хотел бы знать, что что-то пошло не так.

Кажется, ключ находится в ExceptionContext в исключении Handled. Когда установлено значение true, ELMAH не отправляет электронное письмо, и я получаю свое собственное представление, если я устанавливаю значение false, ELMAH отправляет сообщение, но я получаю неприятное сообщение от IIS. Любые идеи, как показать красивый вид и получить электронную почту?

3 ответа

Решение

Вам нужно добавить обработчик перехвата, как тот, о котором писал Скотт Хансельман. Я назвал мой HandleErrorWithElmahAttribute. Это называется. Записывает ошибку с ELMAH. Очищает все и дает хорошую страницу. Вам просто нужно убедиться, что ваш обработчик ошибок фильтра действий ELMAH получает на порядок меньше, чем ваш фильтр действий ошибок MvcContrib.

Хотя это и не относится к ELMAH, возможно, вы захотите взглянуть на этот пост в блоге о глобальной обработке исключений в ASP.NET MVC.

Другие вопросы по тегам