未在无扩展页面中设置 HTTP 模块会话
我编写了一个 HTTP 模块,需要访问会话。我已完成以下操作:
- 模块在 web.config 中注册
- 模块将我的方法调用附加到 PostAcquireRequestState 事件
- 模块实现 IRequiresSessionState
但是,当我的页面没有扩展名时(即 htp://www.mywebsite.com )会话不可用,我的代码失败。如果页面确实有 aspx 扩展名,那么一切都可以。
I have a HTTP module that I have written that needs to access the session. I have done the following:
- Module is registered in web.config
- Module attaches my method call to the PostAcquireRequestState event
- The module implement IRequiresSessionState
However, when my page doesn't have an extension (i.e. as when htp://www.mywebsite.com) the session is not available and my code fails. If the page does have an aspx extension then all is ok.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要有一个由 ASP.NET 处理的项目,以便您的模块成为请求生命周期的一部分。提供像index.html 这样的页面无法实现这一点。 ASPX 页面将。
You need to have an item that is processed by ASP.NET in order for your module to be part of the request life-cycle. Serving a page like index.html won't accomplish that. An ASPX page will.
以下线程中的代码可以解决问题(1) :
The code from the following thread does the trick (1):
事实证明这是一个 II7 问题,请参见此处:
http: //forum.umbraco.org/yaf_postst9997_ContextSession-always-null-on-top-umbraco-page.aspx
It turns out its an II7 issue, see here:
http://forum.umbraco.org/yaf_postst9997_ContextSession-always-null-on-top-umbraco-page.aspx