【发布时间】:2012-11-25 15:35:02
【问题描述】:
我有两个处理程序。
在 Authentication.ashx 处理程序中,我在会话中保存一个对象,如下所示:
HttpContext.Current.Session["ConnectionUserSession"] = userCache;
然后,我有另一个处理程序,Send.ashx,我想获取保存在 Authentication.ashx 中的对象。
我是怎么做到的? 我获取对象的代码是:
UserCache userCache = (UserCache) HttpContext.Current.Session["ConnectionUserSession"];
问题: userCache 始终为 null,并且我在两个处理程序上都实现了 IRequiresSessionState。
【问题讨论】:
-
抱歉,问题出在 Send.ashx 上。变量 userCache 始终为空。而且我在两个处理程序上都实现了接口 IRequiresSessionState。
-
使用什么客户端技术来访问这个?
-
Connection是什么对象?在 Session 中放置任何非敏捷对象(包含数据库连接、打开文件句柄等资源的对象)是不好的做法。
-
执行如何从一个处理程序传递到另一个处理程序?会话 ID cookie 是否被正确保留?
-
所以,我有两个 aspx 页面。在 Default.aspx 中,我调用 Authentication.ashx 并将对象 UserCache 保存在 Session 中。我返回 Default.aspx,转到 SecondPage.aspx 并再次调用 Send.ashx。在 Send.ashx 上,我想获取保存在会话中的值以获取 UserCache。
标签: c# asp.net session httpcontext ashx