当用户登录网站时,我正在创建 5 个会话变量,其中包含一些与用户相关的值(例如userid
等roleid
)。基于存储在会话变量中的值之一,我必须更新数据库中的记录。为此,我在Session_End()
Global.asax 事件中编写以下代码
if (Session["UserHistoryID"] != null)
SessionUtility.UpdateDatabase(Convert.ToInt32(Session["UserHistoryID"]));
这里的问题是当 Session 超时并Session_End
触发Session
变量Session["UserHistoryID"]
时NULL
,上述条件失败并且数据库中的记录没有更新。当在我的本地系统中测试它时它工作正常但是当我在生产服务器中测试它时,一些记录没有得到更新
为什么会这样?
有人请解释一下它是如何Session_End
工作的。
我到处搜索,但找不到解决方案。