У меня был некоторый код обработки ошибок в Application_Error
, который выполнял некоторые протоколирования, а затем передавал мне на действие или просмотр контроллера Error
. У меня была странная проблема: иногда - и только на моем производственном сервере, а не на моей машине разработки, появится страница с ошибкой, но в журнале не было записано никаких данных об ошибке.Application_Error не вызывается при использовании Elmah.MVC
ответ
Я потратил несколько часов, пытаясь понять это, и выясняется, что моя страница ошибки вызывалась напрямую, без прохождения Application_Error
!
Я видел комментарий на одноразовый другой SO пост, который подразумевал, что это может произойти с HandleError
атрибута - то есть, что это будет выглядеть для представления под названием Error
, а просто вынести, что, минуя Application_Error
.
Я использовал Elmah.MVC, и поэтому явно не использовал атрибут HandleError
, потому что Elmah делает это за вас. Тем не менее, оказывается, что Elmah также делает прямое представление об ошибке, потому что, когда я переименовал свой взгляд (и действие контроллера) на что-то еще, все приступило к работе, как ожидалось.
Просто отправьте это на случай, если это поможет кому-то еще ...