Люди,
У меня есть приложение, которое представляет собой первую страницу с множеством пользовательских и пользовательских элементов управления. ASP.Net WebParts используются. На веб-странице и на ее главной странице почти нет кода: он состоит из различных компонентов.
Требования к оформлению включают панель отображения сообщений об ошибках. Клиент хотел бы, чтобы приложение отображало любые ошибки, возникающие в любой части приложения, на дисплее сообщений об ошибках, а не переходило на пользовательскую страницу ошибок. (Это было недавнее решение: когда мы начинали, мы думали о специальной странице ошибки.)
Насколько я могу судить, WebParts не обеспечивает никакой обработки ошибок по умолчанию (без захвата ошибок и отображения сообщений), а пользовательские элементы управления не обязательно запускают событие OnError при возникновении внутренней ошибки.
Так что я смотрю на завершение абсолютно всего в Try ... Поймать блоки, по крайней мере на уровне представления, и выполняю обработку. Итак, мой вопрос: есть ли простой способ реализовать какой-то глобальный или, по крайней мере, общеклассовый обработчик ошибок, который будет обрабатывать ошибку, как я выберу, прерывать выполняющуюся подпрограмму, но возвращать (после обработки ) для вызывающего метода, который не удалось?
Я готов адаптировать код для проверки того, что подпрограммы сделали то, что они должны были, и вернули соответствующие значения (например, ненулевые объекты данных.) Я не хочу, чтобы весь процесс был прерван до самый верх, с пропущенным рендерингом, или (конечно) знаменитый желто-белый экран.
Я полагаю, что это относится к аспектно-ориентированному программированию, но я не думаю, что ASP.Net предоставляет что-то подобное. У меня не сложилось впечатление, что EntLib 5.0 тоже.
Я бы обожал это, если бы можно было украсить метод атрибутом, который означал бы "При ошибке вызвать такой-то статический метод такого-то класса". Но я сомневаюсь, что это так.
Любые предложения приветствуются.
Спасибо
Энн Л.