ASP.NET ASHX中访问Session

默认,在ashx文件中无法使用Session,直接获取context.Session只能取得null。

解决办法:

  1. 添加命名空间 using System.Web.SessionState 的引用
  2. 让这个General Handler类实现IRequiresSessionState接口
  3. 然后再用context.Session或HttpContext.Current.Session就能获取Session

另外,几篇非常有含金量的帖子,讨论关于解决flash中,或本地html中,或跨域服务器上的html内使用ajax访问web-service或.ashx时session数据丢失的问题,以及页面重定向导致的session数据丢失问题:

  • http://stackoverflow.com/questions/10751188/get-asp-net-session-id-with-jquery
  • http://stackoverflow.com/questions/14465314/how-to-access-session-in-aspx-that-was-modified-in-ashx
  • http://stackoverflow.com/questions/3732978/session-set-in-ashx-and-get-that-session-on-aspx
  • http://weblogs.asp.net/bleroy/Don_2700_t-redirect-after-setting-a-Session-variable-_2800_or-do-it-right_2900_

转载于:https://www.cnblogs.com/maizhongfei/p/4031125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值