Я настроил и настроил ELMAH для регистрации всех моих ошибок в проекте ASP.NET MVC, над которым я работаю. Он будет использоваться небольшой группой пользователей, которым не нужно знать слишком много, поэтому всякий раз, когда возникает ошибка любая (404, InvalidOperation, Y2K ... что угодно!), Я просто хочу показать это общий вид ошибок по умолчанию с инструкциями, чтобы позвонить в нашу службу поддержки и сидеть сложа руки.
ELMAH запущен и работает нормально, что наш персонал службы поддержки будет использовать для диагностики ошибок и регистрации / повышения заявок по мере необходимости. Моя проблема в том, чтобы показать мою страницу глобальной ошибки. Я использую решение, опубликованное здесь , чтобы гарантировать, что ELMAH и [HandleError] хорошо играют вместе.
Web.config настроен так:
<customErrors mode="On" />
Если я получаю доступ к http://application/Home/Index, в котором есть ошибка LINQ (последовательность не содержит элементов), то мне показывают мой хороший общий вид ошибки из /Shared/Error.aspx, но если я пытаюсь получить доступ к http://application/Fake/Broken то есть 404, тогда я получаю обычный ASP.NET
Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /Fake/Broken
Обе ошибки отлично регистрируются ELMAH.