我們的許多內部和外部用戶啓動我們的Web應用程序。然後在稍後的一段時間,他們從瀏覽器中打開一個新窗口。他們想要運行2個獨立的應用程序會話。但是,通過這樣做,他們實際上使用相同的會話數據。如何判斷2個瀏覽器窗口是否共享會話?
有沒有一種方法,在代碼中,以確定是否有另一個瀏覽器窗口打開相同的會話?
我們使用VS 2008,C#和/或VB.Net。
謝謝。
COMBINING我的回覆從下面:
也許我說這是錯誤的。當他們打開第二個窗口並將其更改爲其他窗口小部件編號,然後返回到原始窗口時,在下一個回發窗口中將使用第二個窗口的窗口小部件編號,而不是其自己的窗口小部件編號
我們正在使用IE7。
謝謝!我想要做的是應用程序啓動時檢查是否有另一個窗口使用同一個cookie/session,如果是,請關閉並在新的cookie/session中打開該應用程序。我知道如何在新會話中打開應用程序,但不知道如何檢查它是否共享cookie /會話? – Jim 2009-11-04 14:13:36
要做到這一點,您需要使用每個GET或POST發送到服務器的每個瀏覽器窗口的唯一標識符。也許你可以在javascript頁面載入事件中生成一個隨機的「窗口ID」(參考http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript),並將其存儲在URL查詢字符串或一個cookie,所以它在GET和POST都發送到服務器。 然後,服務器端代碼需要通過會話跟蹤窗口ID,並在看到與同一會話關聯的2個不同窗口ID時採取行動。 我只會這樣做,如果你真的需要壽! – saille 2009-11-04 20:01:18