在我的 asp.net Web 应用程序中,当用户登录时,我将 db 中的 isLogged 标志设置为 true。
当 Session 过期(120 分钟后)时,我使用 Session_End 方法设置 false isLogged 标志。
我在多种情况下测试此方法:
- 当用户在没有点击注销按钮的情况下关闭浏览器时,在超时时间之后 session_end 完成他的工作。
- 当用户锁定他的设备或他的设备进入待机状态时,也会发生同样的事情。
我的问题是有些用户如果不点击注销按钮就会“保持登录状态”。老实说,我不明白为什么当客户端设备未连接到网站时 session_end 会起作用。我认为服务器完成了 Session_end 工作,但如果这是真的,为什么有些用户没有工作?
原因可能是浏览器或设备类型(移动设备或非移动设备)?