none
ajax的session问题 RRS feed

  • 问题

  • 劳烦各位高手解答一下小弟的困惑。

    我们项目,VS2008+IIS6,然后未使用MS的ajax插件,而是自己纯手工写JS,并且自己手写了一个HttpModule,此Module的功效就是当用户登录时,将其某些信息写入session,并且将前台JS提交的参数传递给请求所对应的ashx。现在出现的问题是,第一次登录时,ajax所对应的ashx里面能够获取到正确的session值,然后关闭窗口,以另外的身份登录系统时,获取的session却仍然是前一个用户的session,只有在第一个用户登出几分钟后再登录第二个用户,才能取到其相应的session值。总体表现就是ajax的ashx无法获取到最新的session,请问各位这是怎么回事?
    2009年9月24日 16:34

答案

  • 问题解决了,在代码中用context.Session["user"]就可以,得加上context,才能保证session的即时性,但是在页面级,即ASPX的对应的CS文件中,通过session就直接可以拿到最即时的值,比较怪异。
    另:感谢两位版主的解答,谢谢。

    2009年9月25日 8:21

全部回复

  • 你好,浏览器关闭后,线程并没有立刻结束,火狐就是如此。
    jon.valett@gmail.com
    2009年9月24日 17:32
    版主
  • 就是当用户登录时,将其某些信息写入session,
    登录的时候Session信息是重写的,应该是你的代码哪个地方出了问题吧。
    比如:登录的时候写

    Session["user"] = "A"

    如果使用用户B登录,此时会执行 Session["user"] = "B"

    难道你还能得到Session["user"] 的值是A??

    【孟子E章】
    2009年9月25日 0:42
    版主
  • 问题解决了,在代码中用context.Session["user"]就可以,得加上context,才能保证session的即时性,但是在页面级,即ASPX的对应的CS文件中,通过session就直接可以拿到最即时的值,比较怪异。
    另:感谢两位版主的解答,谢谢。

    2009年9月25日 8:21