如何在网页离开/关闭时更新数据库中的状态?

如果用户正在说“ XYZ”页面,我想更新状态标记1,并在用户离开此页面时立即更新0

当用户进入时,我可以使用相应控制器中的linq通过简单的更新查询来更新标志1。

但是问题是当用户直接离开或关闭浏览器窗口时如何更新标记0

我尝试添加以下代码:

window.onload = function () {
    window.addEventListener("beforeunload",function (e) {
        ----------AJAX FUNCTION TO UPDATE DATA HERE--------------
    });
};

但是问题是如何获取此警报框的回调 see the image here

q775008 回答:如何在网页离开/关闭时更新数据库中的状态?

您不能确定仅通过使用客户端功能就能始终如一地工作,因为会话可以通过多种方式结束,而这并不能被它捕获。示例可能是:

  • 失去互联网连接
  • 失去力量
  • 服务器端点关闭

如果要保持一致性,则必须在服务器端进行备份,以“终止” x分钟内未听到的会话。

所以我的建议:

  1. 当用户进入页面时,将标志设置为1。
  2. 实施您已经必须将代码更新为0的代码。
  3. 运行服务器功能(可以选择使用hangfire进行后台作业),并在x分钟内未将其标记为1的所有会话更新为0。
本文链接:https://www.f2er.com/3154395.html

大家都在问