2012-08-25 52 views
0
  1. 我有一個頁面設置一個會話變量來保存頁面加載時頁面的數據庫查找列表。當用戶離開頁面時刪除會話變量

  2. 當瀏覽器發出Ajax調用時,該頁面還需要訪問該查找列表。

我想不會從數據庫中每一個Ajax調用加載查找的名單,但我想從會話中刪除查找列表中,如果用戶離開頁面。有這樣做的最佳做法或推薦策略嗎?

回答

2

可以使用這樣的事情

window.onbeforeunload = cleanup; 
function cleanup() 
{ 
    // Clear session variable here 
} 

但是用JavaScript清除會話變量,這也不是萬無一失,因爲用戶總是可以禁用javascript等。通常這不會是因爲一個問題無論如何,session變量會有一個超時。如果你真的擔心,你應該刪除頁面加載的任何當前會話。

根據您的情況,另一種選擇是使用Caching.Cache類來保存這些值。當您將這些值存入緩存時,您可以將它們設置爲在TimeSpan之後過期,並將其設置爲相當短的時間,例如5分鐘左右。

請注意,雖然會話是每個用戶,但每個服務器實例只有一個緩存。

+0

哦,我喜歡設置到期的想法。 –

相關問題