Разница между обработкой исключений ELMAH и Global.asax

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


person user2971927    schedule 01.04.2014    source источник


Ответы (1)


ELMAH подписывается на то же событие Error, которое Application_Error в Global.asax предназначен для обработки. В результате у вас не будет большего неудобства с Application_Error, чем с ELMAH, в том, что касается получения уведомлений, когда необработанное исключение передается в ASP.NET во время транзакции HTTP. Разница в том, что, за исключением очень упрощенного ведения журнала, если ваши потребности когда-либо расширяются до настраиваемости, фильтрации ошибок, создания RSS-каналов или создания пользовательского интерфейса просмотра на основе зарегистрированных ошибок, вы в значительной степени в конечном итоге напишете в своем Application_Error тот же код, что и ELMAH. ты. Если вы планируете использовать этот код в Application_Error других веб-приложениях, тогда его нужно будет обобщить и сделать подключаемым, и это, опять же, даст вам то, что уже есть в ELMAH.

person Atif Aziz    schedule 27.04.2014
comment
работает ли ELMAH асинхронно или нет, если да, это будет большим преимуществом, чтобы не создавать проблем с производительностью во время большой нагрузки на сервере - person user2971927; 05.05.2014
comment
Событие Error не поддерживает асинхронность в ASP.NET. Тем не менее, у ELMAH есть некоторая поддержка асинхронности, которая обсуждалась в журнале базы данных Async. в ветке группы обсуждения ELMAH. - person Atif Aziz; 06.05.2014