Как получить доступ к необработанному исключению в представлении ошибок MVC?

Когда атрибут HandleError в контроллере обнаруживает необработанное исключение и перенаправляет в представление «Ошибка», я хотел бы предоставить пользователю краткое описание ошибки и возможность отправить сообщение об ошибке администратору приложения.

У меня есть пользовательский HandleError, который уведомляет Elmah о необходимости регистрации ошибки, но поиск ошибки в журнале Elmah кажется последним средством. Есть ли другой способ получить доступ к необработанному исключению, которое «поймано» HandleError?


person ProfK    schedule 03.08.2010    source источник
comment
Если вы регистрируете ошибку, разве у вас уже нет доступа к ее описанию?   -  person Robert Harvey    schedule 03.08.2010
comment
Да, но, как я уже сказал, контроллер, который перехватывает ошибку, перенаправляется в представление ошибок, поэтому, если я могу избежать поиска ошибок в БД, это было бы идеально.   -  person ProfK    schedule 03.08.2010


Ответы (1)


HandleErrorAttribute предоставляет объект модели типа HandleErrorInfo Ваша страница ошибки может выглядеть так

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<HandleErrorInfo>" %>

Модель имеет свойство Exception с подробной информацией об обработанном исключении.

Обычно я использую собственный обработчик ошибок, который также регистрирует исключение с помощью log4net, и у меня есть Приложение STMP, которое отправляет мне электронное письмо всякий раз, когда фильтр обрабатывает исключение.

person uvita    schedule 03.08.2010