Реализация обработки исключений в ASP.NET 3.5 - PullRequest
4 голосов
/ 25 января 2010

Я хотел бы реализовать обработку исключений в приложении ASP.NET. Как вы предлагаете мне это реализовать? Некоторые требования:

  • Пользователь должен видеть дружественную страницу, когда возникает исключение
  • Администратор должен получить электронное письмо с подробной информацией об исключении

Я понимаю, что есть несколько способов реализации исключений (например: Журнал сообщений в окне просмотра событий)

Какой рекомендуемый подход?

Ответы [ 3 ]

2 голосов
/ 25 января 2010

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

Для простых приложений может быть достаточно просто настроить файл web.config для перенаправления на дружественную страницу ошибок.

Обычно рекомендуется записывать необработанную информацию об ошибках в базу данных, файл, журнал приложений Windows или веб-службу, обрабатывая их с помощью события Global.asax Application_Error. Вы также можете использовать web.config, чтобы получить дружественную страницу с этим. Обычно я бы не рекомендовал использовать журналы ошибок Windows, так как они немного тупые, но в этом нет ничего плохого.

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

В MSDN есть пошаговое руководство о некоторых основных настройках обработки ошибок и о том, что вы можете с ними сделать.

2 голосов
/ 25 января 2010

Я написал статью на эту тему, которая, я думаю, вам действительно понравится

http://dotnetblogger.com/post/2008/12/03/ASPNET-Health-Monitor.aspx

Что касается дружественного бита страницы, я просто использую встроенную обработку исключений в web.config ..., так как вы реализуете неизвестный материал исключений в global.asax

Вы также можете обрабатывать исключения в блоках try / catch и добавлять примечания к ним, если хотите. Затем просто свяжите базу данных с красивым видом сетки для администраторов, чтобы легко увидеть ошибки.

0 голосов
/ 26 января 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...