Session覆盖解决(IE6) ,IE7,IE8

 

Session覆盖解决(IE6)

   
   近期做了一个web的小东西,可是访问时发现了Session的覆盖问题,网上也找了很多资料,可是没有立竿见影的效果,有的说加随机数,有的说URL重写。而且说得都很模糊,最后终于在网上找到了一个很简单的解决办法。
    问题跟服务器端的Session一点关系都没有,问题的根本所在就是你打开的IE浏览器窗口都属于同一个IE进程,如果每个IE窗口都隶属与独立的IE进程,就解决了这个问题。
    解决办法:
        打开注册表编辑器,定位到
            [ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BrowseNewProcess]和
            [ HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BrowseNewProcess]
            (前者对所有用户账户生效、后者只对当前用户账户生效),将其中的字符串值“BrowseNewProcess”的值,修改为“yes”(不含引号),确认后重启系统。

           当然这个方法的缺点就是所有的客户端都要更改注册表

   图示:
    Session覆盖解决(IE6) ,IE7,IE8_第1张图片
   
    备注:
        1)注册表更改成功的话,每打开一个新的IE,任务管理器中就会新建一个叫做IEXPLORER.EXE的进程。
        2)使用HttpWatch查看Request的请求时发现,问题不应该描述成Session覆盖,因为如果窗口都隶属于同一个IE进程的话,第一次发送请求,服务器端会创建一个新的Session,以后的所有IE请求都会使用这个SessionID号向服务器检索第一次请求时已经创建的Session。

http://www.blogjava.net/vampire/archive/2012/02/02/305843.html

 

 

二:

在IE启动的时候加上参数-nomerge,这样用户每次重新打开IE时都会重新分配一个session

 

你可能感兴趣的:(小技术,ie,session,microsoft,服务器,windows,浏览器)