在我的asp.net Web应用程序中,当用户登录时,我将db中的isLogged标志设置为true。
当会话到期时(120分钟后),我使用Session_End方法设置false isLogged标志。
我在多种情况下测试此方法:
我的问题是,有些用户如果没有点击退出按钮就会“保持记录”状态。 我跟你说实话,我不明白为什么当客户端设备没有连接到网站时,session_end有效。我以为服务器做了Session_end工作,但如果这是真的,为什么有些用户不能工作?
原因可能是浏览器或设备类型(移动与否)?
答案 0 :(得分:0)
如果您为会话启用了滑动过期,并且浏览器会发出一些永久性的AJAX请求,那么只需打开浏览器窗口就可以使会话永远保持活动状态。至于会话结束事件的工作原理:
当Abandon方法已经运行时,会运行Session_OnEnd子例程 呼叫或会话过期时。会话到期时 Timeout属性指定的分钟数没有通过 请求为会议提出。