В моем проекте ASP.NET 4.0 MVC, работающем в IIS 7, я настроил и настроил ELMAH для регистрации ошибок на моем сайте. Однако я не могу получить отчеты об ошибках с кодом 500.
Я установил простой контроллер, который создает исключение деления на ноль, но ELMAH не регистрирует его. Я могу заставить ELMAH регистрировать другие сообщения просто отлично, и я не отфильтровываю никаких исключений в ErrorLog_Filtering.
Кроме того, для отображения пользовательских страниц я обновил раздел httpErrors файла web.config следующим образом:
<customErrors mode="RemoteOnly" defaultRedirect="~/error/GenericError">
<error statusCode="403" redirect="~/error/AccessDenied" />
<error statusCode="404" redirect="~/error/NotFound" />
<error statusCode="500" redirect="~/error/Offline" />
<error statusCode="501" redirect="~/error/Offline" />
<error statusCode="503" redirect="~/error/Offline" />
</customErrors>
и
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly" >
<error statusCode="403" prefixLanguageFilePath="" path="/error/AccessDenied" responseMode="ExecuteURL" />
<error statusCode="404" prefixLanguageFilePath="" path="/error/NotFound" responseMode="ExecuteURL" />
<error statusCode="500" prefixLanguageFilePath="" path="/error/GenericError" responseMode="ExecuteURL" />
<error statusCode="501" prefixLanguageFilePath="" path="/error/GenericError" responseMode="ExecuteURL" />
<error statusCode="503" prefixLanguageFilePath="" path="/error/Offline" responseMode="ExecuteURL" />
Наконец, при просмотре файлов журнала приложений сообщения об ошибках кода 500 там не отображаются.
Есть ли какая-то конфигурация, которую я пропускаю, или я сам как-то случайно перехватил ошибку и не дал ей распространиться?