О регистрации ошибок

Q:

Пока я спрашивал о проблеме, связанной с обработкой исключений, я нашел много статей о том, как обращаться с исключениями:

Мой вопрос состоит из трех частей:

1- Я читал о ELMAH - Модули регистрации ошибок и обработчики.

через две статьи это и это. но это не работает со мной, хотя простота его конфигурации. Желтый экран смерти все еще кажется мне!.

Заметки:

  • Я пробую код локально в среде разработки, а не в производственной среде.

  • Я так запутался /admin/elmah.axd, существует ли он физически или нет.

  • Я использую веб-приложение, а не веб-сайт. И.net 3.5


2- это ELMAH лучший выбор или я должен использовать Health Monitoring вместо этого? или я могу использовать оба?


3- Если я использую ELMAH, Этого достаточно, и мне больше не нужны папка ошибок и пользовательские ошибки.?

4 ответа

Решение

Я понимаю, что ELMAH - это способ фиксировать ошибки, которые могут отсутствовать в вашем приложении, и позволить вам просмотреть их позже. Поэтому вам все еще нужны пользовательские страницы ошибок, если вы хотите, чтобы ваши пользователи видели что-то кроме желтого экрана смерти.

/admin/elmah.axd HttpHandler, который не имеет физического файла на диске, но вместо этого предоставляет административную консоль для ошибок, которые были зафиксированы ELMAH.

Я не использовал Мониторинг Здоровья, поэтому я не могу говорить с ним напрямую. Я бы сказал, используйте любой инструмент, который вам удобнее всего использовать, и он предоставляет всю необходимую вам информацию. Возможно, вы могли бы использовать оба на некоторое время и посмотреть, подходит ли один для ваших нужд лучше, чем другой (хотя я не знаю, могут ли они наступить друг на друга или нет).

Если вам не удастся сконфигурировать ELMAH или вы хотите иметь больший контроль над хедлингом \ журналированием ошибок, возможно, вы захотите создать свой собственный модуль обработки ошибок, что довольно просто. Здесь вы можете найти хороший учебник с примером кода.

ELMAH намного мощнее, чем Мониторинг Здоровья. Вам не нужен мониторинг здоровья, если у вас есть ELMAH.

Вам все еще нужна настраиваемая страница ошибок, чтобы показать симпатичную страницу конечному пользователю. Я не знаю, что вы подразумеваете под "папкой ошибок", но она вам не нужна.

Любые проблемы, с которыми вы сталкиваетесь, вероятно, решены здесь: ошибка "Ресурс не найден" при доступе к elmah.axd в проекте ASP.NET MVC

Одним из преимуществ использования Health Monitoring является то, что вы можете регистрировать любое событие из пространства имен System.Web.Management, а не только ошибки времени выполнения.

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

РЕДАКТИРОВАТЬ - КАК СЛЕДУЮЩИЙ СЛИШКОМ СЛИШКОМ КОММЕНТАРИЙ

Мониторинг работоспособности является частью платформы.NET, которая с помощью классов в пространстве имен System.Web.Management позволяет регистрировать события, связанные практически со всеми аспектами вашего приложения. ELMAH, с другой стороны, является плагином, который сам использует различные классы в.NET Framework для ведения журналов.

Это означает, что вы не можете сравнить два напрямую. Вам нужно сравнить ELMAH с плагином стороннего производителя, который использует System.Web.Management для ведения журналов (например, "Выявить неисправность", с которой я сейчас работаю).

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

Другие вопросы по тегам