2008-11-18 39 views
1

當用戶進行登錄時,我在緩存中插入了一些內容。在Session_End上從緩存中刪除特定用戶數據

現在我想在用戶會話過期時將其從緩存中刪除。 HttpContext是空的..所以我不知道會話過期的用戶。我怎麼能找到這個?

編輯:不幸的SessionID並沒有給我太多。我在這種情況下所做的是使用處理AuthorizeRequest的HttpModule在Cache中插入當前用戶名,以確保另一臺機器的另一個用戶無法登錄。但會話在HttpModule中爲空。所以我不能使用它。還有其他建議嗎?

回答

1

處理global.asax中的Session_End事件。在這裏您應該可以訪問SessionID。

1

假設你訪問的每個頁面的緩存項,您可以設置緩存的項目有滑動到期。將到期時間設置爲與會話超時相同。在滑動過期時,緩存將在每次訪問該對象時刷新,並在該時間內沒有被訪問時將被丟棄。

查看http://msdn.microsoft.com/en-us/library/4y13wyk9.aspx瞭解更多信息。

相關問題