关闭浏览器上的Session_End代码
我有一个方法需要在Session_end上运行。 当用户关闭浏览器时,有什么方法可以确保代码运行? 这可能是一个双重任务。 我看到一个响应调用ajax卸载或其他东西,但我不希望每次用户导航离开页面时触发,就在他们关闭浏览器时。
谢谢,〜ck
简单回答:您无法控制用户的浏览器。 您提到的AJAX解决方案是您可以实现的最接近的解决方案(没有插件/自定义客户端。)想象一下,每次打开和关闭浏览器窗口时,某些网站都可以跟踪。 你认为这不是隐私问题吗?
真相在于HTTP的无状态特性。 一旦完成将响应发送到客户端,Web服务器就不在了。 之后,您可以依赖的是客户端脚本(仅在客户端需要时执行;并且可以轻松选择不运行脚本。)
Session_end不可靠。 无论你做什么。
Session_end仅在使用inprocess会话时触发。 如果您使用的是会话状态服务器或SQL会话,则不会触发session_end。
在进程会话中使用时,只有在会话中存储了某些内容时,才会触发session_end。 如果您不使用会话,session_end将永远不会触发。
如果您正在使用会话并且用户关闭浏览器,则会在用户会话超时时触发session_end。 虽然它将具有与原始会话相同的一些设置,但此事件不会绑定到浏览器,因为它是工作进程检测会话超时并触发session_end进程。
上述就是C#学习教程:关闭浏览器上的Session_End代码分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1043281.html