会话丢失,WebService调用上的Page(。)User.Identity.IsAuthenticated = false

时间:2011-12-06 13:51:07

标签: c# asp.net web-services flash

这是我的问题:

我已登录

关于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。 无法维持会话?

谢谢!

2 个答案:

答案 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
}