Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Dimon aka Manowar Blog. HttpContext в обработчиках событий HttpApplication

HttpContext в обработчиках событий HttpApplication


До недавнего времени я был свято уверен, что в процессе обработки запроса HttpContext.Current не может быть null. В связи с чем для доступа к классам контекста реквеста использовал всегда именно это выражение. Например для того, чтобы достучаться к кукам в обработчике Application.BeginRequest смело писал HttpContext.Current.Request.Cookies. Но сегодня я с неприятным удивлением обнаружил, что бывают ситуации, когда HttpContext.Current в обработчике события обработки реквеста может быть пустойНеприятное удивление. Причем почему он вдруг оказывался пустым я понять так и не смог. Если подробней, то дело было так - совершенствуя свою систему статистики я перенес вызов метода логирования в обработчик PreSendRequestHeaders дабы ловить StatusCode ответа. После чего в логах обнаруживаю достаточно немалое количество ошибок из метода логирования (срабатывал код обработчика Application.Error). При этом, что самое удивительное, реквест отдавался нормально (200 ответ и html код). Почему выполнение реквеста не прерывалось я уж не стал разбираться, меня больше интересовала ситуация как это исправить. И после некоторого кол-ва шаманских отладок я обнаружил удивительное - в некоторых случаях (в каких именно опять таки я так и не понял, вернее обломался разбираться) в обработчике PreSendRequestHeaders значение HttpContext.Current было равно null, но при этом значение (sender as HttpApplication).Context хранило абсолютно правильный контекст! Шок - это по нашему?Подмигивание

Вообщем мой всем совет - пользуйтесь в обработчиках события HttpApplication конструкцией (sender as HttpApplication).Context для доступа к контексту реквеста.

Если вдруг облом меня не сломает и я продолжу изыскания - расскажу чего у меня получилось нарыть.

Dimon aka Manowar

02 August 2006 23:19  Комментарии (5)

 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта