这是我的问题:
我已登录
关于aspx:
- (在aspx中)myclass.User.Id - >好的
- (在myclass中)Page()。User.Identity.IsAuthenticated = true
- (在myclass中)Page()。Session [“User”] ==“myUser”
到目前为止一直很好,但随后,用 SWF 我打电话给 web服务:
- (在webservice中)myclass.User.Id - >空
- (在myclass中)Page()。User.Identity.IsAuthenticated = false
- (在myclass中)Page()。Session [“User”] == null
为什么同样的事情会在同一个会话中返回不同的值?
为什么我会失去会话?
谢谢!
修改
我刚刚意识到对webservice的调用是一个swf,而不是ajax。 无法维持会话?
谢谢!
答案 0 :(得分:0)
尝试使用 HttpContext.Current.Session 来访问您的网络服务代码中的会话变量。
答案 1 :(得分:0)
确保您启用了Web服务方法的会话。
您可以实际使用属性WebMethod
的选项EnableSession,如下例所示:
[WebMethod(EnableSession=true)]
public void SomeMethod() {
// here you do some manipulation based on data stored in session
}