0

我有由於會話對象的所有multpile標籤瀏覽器的一個問題。我有一個要求,無論何時用戶打開一個新的瀏覽器,我需要顯示不同的值,所以我想在IE 6中使用會話,每個瀏覽器創建一個新的會話。但所有其他多選項卡的瀏覽器IE 7和IE 8和FF共享會話(如果用戶已經打開瀏覽器並嘗試打開不同的瀏覽器)。有人可以告訴我,如何在用戶打開新的瀏覽器窗口時創建新會話。我的應用程序基本上在ASP.NET和服務器端我們有VB.NET。IE 7,IE 8等多個選項卡的瀏覽器會話問題

回答

5

這是因爲使用的是基於cookie的會話。您的網頁指示瀏覽器在本地存儲一個包含數據的小文件,並且只要瀏覽器請求頁面,該數據就會發送回Web服務器。此Cookie文件在瀏覽器實例中的所有選項卡之間共享。

通常,這是用戶所期望,所以你應該有,如果你想改變它一個很好的理由是什麼,但如果需要的解決方案是使用查詢字符串來存儲會話標識符。這是在你的web.config文件由sessionState元素的cookieless屬性的值設置爲UseUri配置。 See here for the documentation on the sessionState element

+0

Thnaks的答覆,但我不能改變的web.config中,是否有任何其他的方式來處理呢?而且我的要求是有多個窗口,而不是multipe片(所以,如果用戶打開多個標籤頁,然後it'sk,只有當用戶打開一個新的瀏覽器,我需要顯示DIFF值) – Punit 2010-01-08 08:04:25

+0

對不起它不與IE 7的問題,只能用IE 8和火狐 – Punit 2010-01-08 08:09:25

+0

你不能改變web.config?爲什麼不?您可以在Global.asax的Application_Start事件中更改設置,但如果無法更改配置,我懷疑可以更改此設置。 – 2010-01-08 08:26:34