MVC способ решения этой проблемы - фильтры .Если вы уже на MVC3, глобальные фильтры для вас.Существует специальный тип фильтра для обработки ошибок: фильтр HandleError
. В этой статье описывается большая часть его использования.
Вы можете реализовать свой собственный фильтр и контролировать каждый аспект необработанных исключений, например:
public class HandleExceptionsAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
var expception = filterContext.Exception;
// custom code here..
}
}
Наконец, если выхотите, чтобы все необработанные исключения сохранялись и регистрировались, ELMAH , т. е. ELMAH.MVC - лучший выбор.Установите его с помощью пакета NuGet , настройте его, и все данные будут доступны по следующей ссылке:
http://yourapp/admin/elmah/
Myсоветуем , а не использовать что-нибудь вроде Application_Error
в Global.asax.cs.