2010-10-13 106 views
0

我有關於在asp.net中多次登錄的問題。當瀏覽器關閉時刪除緩存

案例出現這種情況:

  • 用戶X登錄在網頁瀏覽器 「USER1」。
  • 然後,用戶Y也在另一個Web瀏覽器中以「user1」身份登錄。
  • 用戶Y收到錯誤消息「另一個用戶登錄某個帳戶」。

這是按預期工作。

如果X,關閉他們的網絡瀏覽器。然後再次嘗試以「user1」身份登錄。

  • X也得到「另一個用戶登錄某個帳戶」。

因此,我試圖調試,然後我發現會議是當網頁瀏覽器關閉時刪除,但緩存仍然保留在網頁瀏覽器。

任何人都有關於如何清除緩存,當用戶關閉他們的瀏覽器,(不是選項卡)的想法。

注意。

回答

0

當瀏覽器關閉時,沒有可靠的方法來獲取通知。

您可以做的最好的方法是獲取通知,說明它仍然處於開啓狀態並實現您自己的超時。在定時器上使用ajax回調來ping服務器「我仍然打開」。將它設置爲每5或10或30秒或任何你需要的,當你在那個時候沒有在服務器上得到一個,你就知道瀏覽器已關閉。

+0

這不是所謂的「反向AJAX」或什麼? (只是好奇) – RPM1984 2010-10-13 03:13:52

+0

@ RPM1984,不,「反向ajax」又名「彗星」又名「長輪詢」是一種從服務器向客戶端點播發送數據的方法。由於在這種情況下不想將數據從服務器發送回客戶端,因此不需要保持連接處於打開狀態。 – 2010-10-13 16:58:47