У меня есть веб-сайт, и мне нужно регистрировать исключения глобально, я не могу понять, в чем разница между использованием ELMAH в качестве механизма регистрации ошибок или использованием Application_Error в Global.asax, я думаю, что все будут регистрировать все выброшенные исключения, или мне что-то не хватает об ELMAH
Разница между обработкой исключений ELMAH и Global.asax
Ответы (1)
ELMAH подписывается на то же событие Error
, которое Application_Error
в Global.asax
предназначен для обработки. В результате у вас не будет большего неудобства с Application_Error
, чем с ELMAH, в том, что касается получения уведомлений, когда необработанное исключение передается в ASP.NET во время транзакции HTTP. Разница в том, что, за исключением очень упрощенного ведения журнала, если ваши потребности когда-либо расширяются до настраиваемости, фильтрации ошибок, создания RSS-каналов или создания пользовательского интерфейса просмотра на основе зарегистрированных ошибок, вы в значительной степени в конечном итоге напишете в своем Application_Error
тот же код, что и ELMAH. ты. Если вы планируете использовать этот код в Application_Error
других веб-приложениях, тогда его нужно будет обобщить и сделать подключаемым, и это, опять же, даст вам то, что уже есть в ELMAH.
Error
не поддерживает асинхронность в ASP.NET. Тем не менее, у ELMAH есть некоторая поддержка асинхронности, которая обсуждалась в журнале базы данных Async. в ветке группы обсуждения ELMAH.
- person Atif Aziz; 06.05.2014