会话丢失和Page(). user . identity.在WebService调用上IsAuthenticated =

本文关键字:WebService 调用 IsAuthenticated identity user Page 会话 | 更新日期: 2023-09-27 18:16:50

我的问题是:

在aspx:

  • (在aspx中)myclass.User.Id -> ok
  • (在myclass中)Page(). user . identity。IsAuthenticated = true
  • (在myclass中)Page()。Session["User"] == "myUser"

到目前为止一切顺利,但是,对于SWF,我称之为a网络服务:

  • (在webservice中)myclass.User.Id -> null
  • (在myclass中)Page(). user . identity。IsAuthenticated = false
  • (在myclass中)Page()。Session["User"] == null
为什么相同的东西在相同的会话中返回不同的值?

为什么我失去会话?

谢谢!

编辑:

我刚刚意识到对webservice的调用执行swf,而不是ajax。没有办法维持会话?

谢谢!

会话丢失和Page(). user . identity.在WebService调用上IsAuthenticated =

尝试使用HttpContext.Current。会话在你的webservice代码中访问会话变量

请确保您为web服务方法启用了Session。

您实际上可以使用属性WebMethod的选项EnableSession,如下面的示例所示:

[WebMethod(EnableSession=true)]
public void SomeMethod() {
    // here you do some manipulation based on data stored in session
}