Шаблон проектирования для обработки ошибок на сайте ASP.NET 3.5 - PullRequest
0 голосов
/ 20 апреля 2010

Я относительно новичок в программировании на ASP.NET и веб-программировании в целом. У нас есть сайт, который мы недавно портировали с .NET 1.1 на 3.5. В настоящее время у нас есть два метода обработки ошибок: либо перехват ошибок во время загрузки данных на страницу и отображение отформатированной ошибки в метке на странице, либо перенаправление на общую страницу ошибок. Оба они несколько раздражают, так как сейчас я пытаюсь изменить дизайн наших ошибок.

Мы скоро переходим на мастер-страницы, и мне интересно, есть ли способ "встроить" контроль обработки ошибок. Под этим я подразумеваю использование созданного мной пользовательского элемента управления ASP.NET, который просто передает строку ошибки, возвращаемую с сервера. Если возникает ошибка, на странице не будет отображаться содержимое, а вместо этого будет отображаться контроль ошибок. Это дает нам возможность сохранить текущий баннер / навигацию во время ошибки (которую мы не получаем на общей странице ошибок), а также избавляет меня от необходимости добавлять элемент управления на каждую имеющуюся у нас страницу aspx (которую я связано с использованием системы меток на страницу). Имеет ли что-то подобное смысл? В конечном счете, я просто хочу, чтобы контроль ошибок был добавлен к одной странице, и все остальные страницы имеют прямой доступ к нему. С этим справочные страницы справки?

Спасибо!

1 Ответ

2 голосов
/ 20 апреля 2010

Используйте событие application_error в global.asax, чтобы перехватить все ваши необработанные ошибки - вы можете записать их здесь. Вы не должны выводить сообщения об ошибках клиенту следующим образом.

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

Вы также можете использовать что-то вроде ELMAH для простого входа.

...