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

Luc*_*uca 1 javascript c# asp.net asp.net-mvc

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

Pat*_*man 5

没有直接的方法来做到这一点......问题是:你为什么要这样做呢?感觉像我的设计糟糕.

您可以处理一些导航事件并检查域是否与您当前具有的相同.如果没有,则触发AJAX调用以放弃会话.确保将该调用作为带有CSRF令牌的HTTP POST,以确保不会容易受到CSRF的攻击.