Использование HttpModule с расширением .html - PullRequest
1 голос
/ 19 января 2009

Мне нужен доступ к сессии в httpmodule. Это нормально работает, когда моя страница является страницей aspx, но context.session имеет значение null, если URL-адрес запроса - .html. Я сопоставил .html для использования aspnet_isapi.dll

Я пытаюсь получить доступ к сеансу в context_PreRequestHandlerExecute, и у меня есть httpmodule, наследующий IReadOnlySessionState

Ответы [ 2 ]

1 голос
/ 19 января 2009

Исходя из моего опыта, IReadOnlySessionState и IRequiresSessionState применимы только к HttpHandlers.

См. Следующие ссылки SO, чтобы узнать, как это реализовать:

Могу ли я получить доступ к состоянию сеанса из HTTPModule?

IIS HttpModule не может установить сеанс

0 голосов
/ 22 июля 2009

Он не работает с расширением HTML, поскольку aspnet_isapi.dll не обрабатывает расширение, а обрабатывает страницы ASPX.

Вы должны использовать другое расширение вместо HTML и зарегистрировать новое расширение в Конфигурации приложения IIS (Свойства веб-сайта -> вкладка «Домашний каталог» -> кнопка «Конфигурация» -> вкладка «Сопоставления»). Используйте .aspx в качестве примера, чтобы добавить собственное расширение.

...