最近在一个老项目上开发新功能,出现.ashx文件中无法获取到session的值,而且在本地调试都能获取,但是发布到服务器上在其他页面可以获取session值,在ashx中却无法获取session值,各位以前有没有遇到这类的问题。
在.ashx中无法获取
在aspx.cs中可以获取如下图
最近在一个老项目上开发新功能,出现.ashx文件中无法获取到session的值,而且在本地调试都能获取,但是发布到服务器上在其他页面可以获取session值,在ashx中却无法获取session值,各位以前有没有遇到这类的问题。
在.ashx中无法获取
在aspx.cs中可以获取如下图
27 回答12.8k 阅读
8 回答3.4k 阅读✓ 已解决
6 回答1.1k 阅读✓ 已解决
5 回答5.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.7k 阅读
4 回答2.3k 阅读✓ 已解决
HttpHandler 默认是不能读写 Session 的。
因为它有点儿类似管道或中间件,处理 Session 是单独的某个 HttpHandler,而执行到你的那那里时还未必有 Session。
如果你非要读写的话,可以手动实现
IRequiresSessionState
接口。官方文档:
怎么用的话看这篇吧: