如何在浏览器或选项卡关闭时实现Session.Abandon()

本文关键字:实现 Session Abandon 浏览器 选项 | 更新日期: 2023-09-27 18:03:01

我想在global.asax中关闭浏览器或选项卡时杀死会话。如何实现呢?

如何在浏览器或选项卡关闭时实现Session.Abandon()

这似乎在所有情况下都不可能。从服务器端的角度来看,"用户关闭浏览器"看起来就像用户浏览器崩溃,互联网连接消失了几天,用户计算机停止工作和各种各样的事件,其中没有机会客户端代码将发送任何东西到您的服务器信号,它即将停止使用您的服务器。

你能做的最好的解决办法是在你的服务器上有一个短暂的会话(例如5分钟),然后在你所有的页面中添加javascript,定期向你的服务器发送"keep alive"请求(每分钟左右)。并在服务器上实现端点,处理会话状态并刷新它,这样客户端会话可以有5分钟。