ASP.NET MVC在离开当前页面时放弃会话

时间:2016-03-08 08:40:40

标签: javascript c# asp.net asp.net-mvc

当用户离开正在观看的页面时,我需要触发Session.Abandon()。 如果用户只刷新页面会话必须保留。 我在卸载页面window.addEventListener("unload", function(e)...时尝试执行此客户端触发ajax调用,但我无法区分用户是刷新页面还是离开页面。 我目前正在使用ASP.NET MVC5。 有什么建议吗?

1 个答案:

答案 0 :(得分:5)

没有直接的方法可以做到这一点......问题是:你为什么要这样做呢?对我来说感觉不好。

您可以处理一些navigate event并检查域名是否与您目前的域名相同。如果没有,则触发AJAX调用以放弃会话。确保将该调用作为带有CSRF令牌的HTTP POST,以确保不会受到CSRF的攻击。<​​/ p>