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

How to implement Session.Abandon() on Browser or tab close?

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

这似乎并非在所有情况下都可行。 "User closed browser" 从服务器端的角度来看,就像用户浏览器崩溃、互联网连接消失几天、用户计算机停止工作以及客户端代码不可能向您的服务器发送任何信号的各种事件即将停止使用您的服务器。

您可以做的最佳解决方法是在您的服务器上进行短期会话(例如 5 分钟),然后将 javascript 添加到您的所有页面以定期向您的服务器发送 "keep alive" 请求(每分钟左右)。并在您的服务器上实现与会话状态一起使用并刷新它的端点,因此客户端会话可以再多 5 分钟。