Если вы пишете обычный, базовый HttpModule в управляемом приложении, которое вы хотите применить к запросам asp.net через страницы или обработчики, вам просто нужно убедиться, что вы используете событие в жизненном цикле после создания сеанса , PreRequestHandlerExecute вместо Begin_Request, как правило, куда я иду. МДБ имеет право в своем редактировании.
Более длинный фрагмент кода, изначально указанный как ответ на вопрос, работает, но он сложнее и шире, чем первоначальный вопрос. Он будет обрабатывать случай, когда контент поступает от чего-то, у кого нет доступного обработчика ASP.net, где вы можете реализовать интерфейс IRequiresSessionState, тем самым вызывая механизм сеанса, чтобы сделать его доступным. (Как статический GIF-файл на диске). Это в основном установка фиктивного обработчика, который затем просто реализует этот интерфейс, чтобы сделать сеанс доступным.
Если вы просто хотите сеанс для своего кода, просто выберите правильное событие для обработки в вашем модуле.