2009-08-06 32 views
0

數據庫我需要在我的asp.net網站登錄會話數據庫:誰,開始和結束會話時。我在我的iis服務器上配置了odbc日誌記錄,但不幸的是沒有這樣的信息被記錄(或者我看不到它)。我怎樣才能做到這一點或者在asp.net網站(但只是因爲有數百頁,我不能修改每個)或我的iis日誌?記錄會話持續時間在asp.net網站

回答

4

我會使用一個良好的日誌庫(企業庫或log4net的),並在Global.asax中在session_start和Session_End中的事件處理程序編寫日誌代碼。

注意,但是,如果你正在使用SqlServerSessionState,在Session_End中不會觸發事件。實際上,如果您需要記錄用戶名,您可能會發現從Application_AuthenticateRequest(其中身份已建立)記錄會話開始更合適。這不是嚴格意義是會話的開始,但事實是,除非你使用的是集成Windows安全性,用戶的身份不會被創建會話時建立的。

+0

+1調用出來的事實,如果你使用的是InProc會話(所以SessionServer也有此限制)Session_End中唯一的火災。可靠地獲得用戶會話的結束是棘手的。 – 2009-08-06 09:28:09