當用戶登錄到網站時,我創建了5個會話變量,其中包含一些與用戶相關的值(如userid
,roleid
等)。根據存儲在會話變量中的其中一個值,我必須更新數據庫中的記錄。要做到這一點,我這個在這裏寫了下面的代碼Session_End()
事件的Global.asax會話變量值在Global.asax中並不總是可用Session_end
if (Session["UserHistoryID"] != null)
SessionUtility.UpdateDatabase(Convert.ToInt32(Session["UserHistoryID"]));
的問題是,當會話超時,Session_End
火災Session
變量Session["UserHistoryID"]
是NULL
一些時間和上述條件失敗並且數據庫中的記錄未更新。當在我的本地系統中測試它時,它工作正常,但是當我在生產服務器上測試時,有些記錄沒有更新
爲什麼會發生這種情況?
有人請說明Session_End
的工作原理。
我到處搜索,但無法找到解決方案。
我想在會話過期時訪問會話值並在那裏執行某些操作,而不是在創建時進行操作 – seadrag0n