о регистрации ошибок - PullRequest
1 голос
/ 11 июля 2011

Q:

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

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

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

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

Примечания:

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

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

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


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


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

Ответы [ 4 ]

1 голос
/ 12 июля 2011

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

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

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

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

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

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

1 голос
/ 11 июля 2011

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

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

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

1 голос
/ 11 июля 2011

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

1 голос
/ 11 июля 2011

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

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

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

...