Session_End 事件未触发

问题描述

我正在尝试调用一种方法,该方法在我的 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";
}

所以在会话结束后,会话结束事件将触发