Есть ли какие-либо руководящие ресурсы, касающиеся обработки ошибок ВНУТРИ HttpModules? - PullRequest
2 голосов
/ 27 января 2011

Я попытался найти какую-либо информацию о лучших методах обработки ошибок внутри HttpModule, к сожалению, я не могу найти какую-либо информацию в Google по этому поводу.

Вся информация, которую я нашел, относится к тому, как использовать global.asax или пользовательский http-модуль для регистрации ошибок, которые совершенно не имеют отношения к делу.

Редактировать: Очевидно, этот вопрос был неправильно понят. Я ищу информацию о шаблонах программного обеспечения, которые используются для предотвращения сбоев HttpModules, инициирования перенаправления пользовательских ошибок и сбоев снова, вызывая бесконечные цепочки исключений, пока IIS полностью не завершит поток.

Это, однако, очень нетривиально, поскольку коллекция HttpSessionState не может зависеть от жизненного цикла HttpModules. Поскольку условия ошибки уже возникли, было бы неправильно ожидать, что я смогу прочитать куки-файл сеанса ASP.NET, чтобы получить идентификатор, который я мог бы хранить в пользовательском кэше приложения. Хранение данных в коллекции HttpRequest.Items было бы бессмысленным, так как это никоим образом не существует в нескольких запросах.

Мой окончательный вывод состоял в том, что мне пришлось использовать файлы cookie для хранения этой посреднической информации.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2011

Вопрос не совсем ясен, потому что он не выражает очень конкретный случай использования того, чего вы пытаетесь достичь. В случае, если я частично понял. Вы пытаетесь понять, есть ли способы обработки ошибок HTTP-модулей таким образом, чтобы это вообще не убивало ваш процесс.

0 голосов
/ 31 января 2011

Как сказал К. Иванов, стандартная практика обработки ошибок здесь такая же, как и везде.

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

В HttpModules нет ничего особенного.

...