MVC 4 - Как отключить страницу Error.vbhtml по умолчанию? - PullRequest
4 голосов
/ 02 апреля 2012

Кто-нибудь знает, как отключить страницу ошибки по умолчанию или где на нее ссылаются ??

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

Хорошо, я понял это.

Оказывается, что в моем собственном классе ElmahHandleErrorAttribute метод OnException () действительно перегружен (как и должно быть). Но 1-ой строкой кода является «MyBase.OnException (context)», который запустит то, что также выполняет атрибут HandleError.

Как только я прокомментировал эту строку, моя проблема ушла.

В чем проблема?

У меня есть Elmah.Mvc, реализованный в этом проекте Mvc4, он прекрасно работает. У меня также есть пользовательский раздел ошибок в Web.config следующим образом:

<customErrors mode="On" defaultRedirect="~/Error/General">
  <error statusCode="404" redirect="~/Error/Http404" />
</customErrors>

У меня есть ErrorController с двумя методами действия, один для «General», а другой для «Http404».

То, что происходило, было, если бы я поднял необработанную ошибку, я действительно получил бы свое возбужденное исключение, зарегистрированное в Elmah, электронное письмо, доставленное с исключением, и затем отображался пользовательский "Общий" вид (страница Http404, если это была ошибка 404 ).

НО, что я также получил, было зарегистрировано дополнительное исключение И электронная почта, потому что не найден файл по умолчанию «Error.vbhtml» (я удалил это представление).

Честная ошибка ... надеюсь, это поможет кому-то двигаться вперед. :)

0 голосов
/ 02 апреля 2012

Вы можете управлять этим, используя элемент customErrors в файле web.config.

...