问题描述
我正在尝试调用一种方法,该方法在我的 Session_End
方法中更新数据库表中的一行。
我以这种方式在 web.config 中启用了会话状态:
<sessionState mode="InProc" cookieless="false" timeout="1"/>
我已经运行了这个程序并且一分钟内什么也没做,但是我没有看到表中的任何内容得到更新,因此 Session_End
方法没有被触发。
有什么想法我可以做什么或为什么它不触发?
这是一些示例代码
protected void Session_End()
{
loguseractivity("logout",userip,serverip);
}
解决方法
如果您没有在会话中保存任何内容,Session_End 事件将不会触发。会话中必须至少保存一次内容才能触发 Session_End 事件
所以在下面的 Session start 中,我将 Hello 保存在 Session_Start 中
protected void Session_Start(object sender,EventArgs e)
{
Session["Movies"] = "Hello";
}
所以在会话结束后,会话结束事件将触发