1

我需要访问 httpmodule 中的会话。当我的页面是 aspx 页面时它可以正常工作,但是当请求 url 为 .html 时 context.session 为 null 我将 .html 映射为使用 aspnet_isapi.dll

我正在尝试访问 context_PreRequestHandlerExecute 中的会话,并且我有 httpmodule 继承 IReadOnlySessionState

4

2 回答 2

1

根据我的经验,IReadOnlySessionState 和 IRequiresSessionState 仅适用于 HttpHandlers。

有关如何实现它,请参阅以下 SO 链接:

我可以从 HTTPModule 访问会话状态吗?

IIS HttpModule 无法设置会话

于 2009-01-19T09:49:37.917 回答
0

它不适用于 HTML 扩展,因为 aspnet_isapi.dll 不处理扩展,而是处理 .aspx 页面。

您应该使用另一个扩展而不是使用 HTML,并且应该在 IIS 应用程序配置(网站属性 -> 主目录选项卡 -> 配置按钮 -> 映射选项卡)中注册新的扩展。以 .aspx 为例,添加您自己的扩展名。

于 2009-07-22T09:15:54.113 回答