Ошибка регистрации в asp.net mvc, метод OnException не достаточно? - PullRequest
1 голос
/ 12 мая 2010

Я регистрирую ошибки в моем методе контроллеров:

 protected override void OnException(ExceptionContext filterContext)

Но если я наберу тип на странице просмотра или введу несуществующий маршрут, похоже, он не регистрирует этот erorr?

Ответы [ 2 ]

1 голос
/ 12 мая 2010

Это потому, что это конвейер, и вы хотите войти в другую область, чтобы зарегистрировать эту ошибку, добавьте в ваш global.asax следующее:

public override void Init()
{
    base.Error+=new EventHandler(MvcApplication_Error);
    base.Init();
}

Трубопровод в основном такой:

  1. входящий запрос
  2. Хиты IIS / ASP.net
  3. тогда двигатель маршрутизации
  4. затем контроллеры
  5. тогда взгляды

так что вам нужно установить обработчики ошибок до того, как произойдет маршрутизация для их перехвата.

1 голос
/ 12 мая 2010

Используйте Elmah для этого. Код не требуется, просто настройка. Elmah автоматически регистрирует ошибки в памяти, xml или базе данных и предоставляет очень удобный пользовательский интерфейс для просмотра ошибок.

См. объяснение Скотта Хансельмана и официальную документацию Использование Elmah с ASP.NET MVC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...