如题,在开发OA系统时候发现这个问题,
具体例子:在OA等于后我用一个Session["Name"]来保存登录对象的名字我首先打开IE,用 A登录,Session["Name"]赋值成  A然后我又打开一个新的IE窗口 用B登录Session["Name"]赋值成  B然后刷新A的页面,发现A的Session["Name"]变成了B
这是什么问题导致的?有人遇到过类似的问题么?

解决方案 »

  1.   

    每次登录         销毁session,Session.Abandon然后前一个页面就会过期了
      

  2.   

    是否想过用不同的session呢 ?
    A 登录者,session 为 nameA .
    B 登录者,session 为nameB ?我没试过.突然想到的.你觉得是不是可以尝试一下?
      

  3.   

    经过多次测试发现主要在IE8上会出现这问题,IE6没有出现这种情况
      

  4.   

    你要session 加很多东西吗? 那么用cookie吧
      

  5.   

    i6如果没有问题, 可能是你i7 是同一ie浏览器下打开了多个tab,
    同一ie浏览器下开了多个tab是同一个session的。
      

  6.   

    打开另一个窗口 ,必须是点击打开,不是ctrl+n
    ctrl+n也是同一个session
      

  7.   

    解决方法,把sessionID存储在Application里每次登录判断Session是否有了,如果有了销毁,重新生成
      

  8.   


    支持这种做法
    先了解一下session的实现机制吧。
    同一个网址对同一个session当然只能保存一份值了,
    如果可以不同的值,那下次直接打开这个网址,服务器怎么知道你用的是那个帐号啊。
      

  9.   

    IE6没问题,但是有选项卡的都有这样的问题,连QQ都有。不信大伙试试。  不用重名,退出的时候清空。
      

  10.   

    同一个页面的所有选项卡的SessionID是一样的,所以导致这个结果,解决问题的思路就是把这个SessionID干掉,不可能多个用户用一个SessionID
      

  11.   

    同一个站点 同一个name !!!!!!!!!!!!
      

  12.   

    经过测试发现是IE8的问题,IE8的所有窗口(不是选项卡)不管是执行explorer.exe新打开的窗口还是弹出的窗口都是共享Session 只有在 explorer.exe运行时增加 -nomerge参数才可以防止这种情况