首页 > 解决方案 > Session_End 事件未触发

问题描述

我正在尝试调用一个方法,该方法在我的方法中更新数据库表中的一行Session_End。我以这种方式在 web.config 中启用了会话状态:

<sessionState mode="InProc" cookieless="false" timeout="1"/> 

我已经运行了这个程序,一分钟内什么也没做,但我没有看到表中有任何更新,因此该Session_End方法没有被触发。有什么想法我能做什么,或者为什么没有触发?

这是一些示例代码

protected void Session_End() 
{
    loguseractivity("logout",userip,serverip);
}

标签: c#asp.netsessionsession-timeout

解决方案


如果您未在会话中保存任何内容,则不会触发 Session_End 事件。会话中必须至少保存一次才能触发 Session_End 事件

所以在下面的会话开始中,我将 Hello 保存在 Session_Start

protected void Session_Start(object sender, EventArgs e)
{
     Session["Movies"] = "Hello";
}

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


推荐阅读