IIS HttpModule не может установить сеанс - PullRequest
0 голосов
/ 09 января 2009

Я пытаюсь установить значения сеанса с помощью IHttpModule. Я настроил HttpModule для всех запросов, а не только для управляемых / ASPX-страниц.

Однако я обнаружил, что при поступлении запроса на страницу, отличную от ASP.NET (например, gif), член Session приложения HttpApplication выдает исключение или принимает значение NULL.

Я нашел следующий ТАК пост по этой причине: ссылка

Когда я заменяю HttpHandler на тот, который реализует IRequiresSessionState, член Session доступен в HttpModule, а Set-Cookie отправляется обратно в браузер, но позже, когда я пытаюсь прочитать содержимое сеанса в на нормальной странице ASPX нет ни одного значения, которое я установил. При отладке я вижу, что SessionID одинаков как на HttpModule, так и на обычной странице ASPX.

Нужно ли что-то делать, чтобы сохранить сессию? Я предполагаю, что при замене поддельного HttpHandler инициализирует сессию, необходимость вернуть оригинал, который не реализует IRequiresSessionState, приводит к тому, что сеанс не сохраняется в конце запроса.

1 Ответ

2 голосов
/ 09 января 2009

Я только что решил, мне пришлось перенести переопределение оригинального HttpHandler из PostAcquireRequestState в PreRequestHandlerExecute.

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