在做一个ajax应用的时候,建立了一个ashx页面,让前端的js来刷该页面。在方法public void ProcessRequest(HttpContext context)中,记录信息的时候,用到了 context.Session.SessionID和 context.Session["UserPtid"]。再测试查看后台数据记录的时候,这两个字段竟然都保存为空,这是为什么呢 ?
其实,只要让你的ashx页面类继承System.Web.SessionState.IReadOnlySessionState 接口即可。该接口是个标记接口,没有任何方法,它只是让目标http处理程序只需对会话状态的值具有读访问权限。详细用法,请参阅msdn。
keyword:ashx,Session,IReadOnlySessionState
本文探讨了在使用ASHX页面进行AJAX请求时遇到的Session读取为空的问题,并提供了解决方案:通过让ASHX页面类实现IReadOnlySessionState接口以正确获取Session数据。

864

被折叠的 条评论
为什么被折叠?



