О регистрации ошибок
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 для ведения журналов (например, "Выявить неисправность", с которой я сейчас работаю).
Настроить и использовать такой плагин довольно просто. Создать собственную настройку ведения журналов на основе мониторинга работоспособности немного сложнее, так как документация немного тонкая, но с небольшим количеством времени не должно вызывать проблем.