2009-01-11 77 views
1

我正在寫一個只能由經過身份驗證的用戶使用的web應用程序。一些臨時數據庫和日誌文件將在每個用戶會話期間創建。我想在會話結束時清除所有這些臨時文件。何時刪除用戶的會話

顯然,註銷或窗口關閉事件足以關閉會話,但在某些情況下,用戶可能會在瀏覽器完成後很長時間保持瀏覽器打開狀態。

另一種方法是定時用戶會話或在日常維護期間刪除臨時文件。

你如何去做呢?

回答

1

用戶會話應該有一個超時值,並應在超時到期或用戶註銷時關閉。註銷是一個明顯的時間來做到這一點,如果用戶在不註銷的情況下離開應用程序,超時需要在那裏。

0

刪除用戶的會話期間:

1)註銷

2)自動超時(超時的長度可以通過在web.config設置)

3)的任何其它部分您通過刪除任何會話信息(您的會話信息在某段時間內未被訪問)(可能短於您的自動超時時間長度,因爲如果它的長度相同,應該已經被處理),您已經運行的日常維護方法

+0

我真的不明白3)。你的意思是設置超時時間,比如說,1小時,然後在20分鐘後刪除會話? – kender 2009-01-11 07:07:26

1

清理數據庫中任何過期的會話數據的cron作業是件好事。根據會話持續的時間長短以及數據庫的大小,您可能希望每天清理一次以上。但每天一次清理通行證通常很好。