我尝试将我的对象存储到 asmx Web 服务中的会话
user = new MyUser(UserName);
Session["user"] = user;
并从页面加载部分的母版页中读取,但我得到 null
user = (MyUser)Session["user"];
当我尝试使用简单的字符串而不是MyUser
对象时它会起作用
任何的想法?
谢谢。
我尝试将我的对象存储到 asmx Web 服务中的会话
user = new MyUser(UserName);
Session["user"] = user;
并从页面加载部分的母版页中读取,但我得到 null
user = (MyUser)Session["user"];
当我尝试使用简单的字符串而不是MyUser
对象时它会起作用
任何的想法?
谢谢。
假设运行您的服务的进程与为您的页面提供服务的进程相同,您需要确保 WebMethod 启用了会话,方法是使用
[WebMethod(EnableSession = true)]
这是另一个更详细的答案。
谁是服务的客户,谁是页面的客户?他们是否共享 cookie?
这些问题的答案很重要,因为会话共享涉及共享具有相同会话 ID 的会话 cookie。
从您所写的内容来看,尚不清楚,但很可能您只需要在两个客户端(Web 服务客户端和页面客户端)之间共享(例如复制)cookie。
我找到了解决方案!在母版页中,我尝试阅读有关该Page_Load
事件的会话,但这是错误的。当我投入Page_Init
活动时,它起作用了:)