asp.net - 有没有办法在用户离开页面时使用 ASP.NET 始终运行一些服务器端代码?

标签 asp.net http onunload stateless

我想知道是否有任何方法可以在用户离开 ASP.NET 中的页面时始终运行某些服务器端代码。页面 Unload 事件不好,因为如果有人单击链接,它不会被调用。理想情况下,即使用户关闭浏览器,我也希望代码能够运行。

我怀疑我问的是不可能的,但问问也无妨

最佳答案

问题是,HTTP 是一种无状态协议(protocol),因此当页面完成服务后,您将不知道用户是否仍在页面上。

实现此目的的唯一方法是使用一个隐藏的 Javascript 片段,它不断地使用它的 session ID 或其他类似机制对服务器执行 ping 操作。当 ping 变得无响应时,您可以合理地假设该页面不再被用户查看。

这是一张解释传统 HTTP 消息流的图表。

alt text

关于asp.net - 有没有办法在用户离开页面时使用 ASP.NET 始终运行一些服务器端代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679573/

相关文章:

javascript - 是否可以使用 "confirmit"在同一窗口中打开新网址?

javascript - 将 cookie 读入文本框(Javascript)

asp.net - html 页面的 ASP 服务器统计信息

javascript - Angular http 发布错误 : Cannot read property 'post' of undefined

ASP.NET、VB.NET 和数据库问题

java - 从 PHP 检测 android java 客户端连接超时

java - android中使用json进行http连接时出错

JavaScript onunload 仅在文档​​完全加载时调用?

c# - 事件冒泡和 MVP : ASP. NET

c# - Angular ASP.NET MVC 绑定(bind)