close

    今天同事遇到一個問題,使用者以IE8登入ASP.NET 1.1的網站後,在同一台電腦再另外開一個IE出來(不是用window.open()、也不是HyperLink),並登入同一個網站,結果會發現兩個視窗所使用的SessionID竟然的相同的。

    用Fiddler去觀察的結果如下:
1.開第一個IE,並連到網站,此時Request的內容不包含ASP.NET_SessionId
2.登入後,任何的PostBack都會包含ASP.NET_SessionId=krjo4r55my1gdc55kqlfgdic
3.再另外開一個IE,並連到網站,此時Request已經包含ASP.NET_SessionId=krjo4r55my1gdc55kqlfgdic

    我一直以為,開一個新的瀏覽器視窗出來,就會擁有跟其它瀏覽器不一樣的SessionID。結果今天這個事情完全推翻掉我的認知。還好有google到這篇,再加上台灣有個高手眾多的論壇,總算是解決掉我的疑惑。

    解法就是開啟視窗的時候加上nomerge的參數,或是直接按「檔案」--「新增工作階段」來開啟新視窗。本來想找看看有沒有透過修改registry的做法,不過天不從人願,找不到就是找不到。

 

    不過呢……我還是覺得獨立視窗擁有各自的SessionID會比較好一點。

arrow
arrow
    全站熱搜

    AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()