asp.net-mvc-3 - mvc3检测网站(应用程序)正在关闭

标签 asp.net-mvc-3 window

我正在使用 mvc3 构建一个网站,我需要仅在应用程序关闭时删除数据库中的数据。 (用户点击红色的 x)。

我尝试使用 javascript 使用 onbeforeunload 事件,但每次我进入我的应用程序中的新页面时都会发生此事件。

是否可以检测用户何时关闭窗口?

最佳答案

这是不可能的。但是,您可以做的是有一个小的 javascript block ,它会每隔 n 分钟/秒进行一次 ajax 调用,以告诉服务器用户仍然打开浏览器。

这样,您可以设置一个超时,如果 5 分钟后我们还没有收到用户的消息,我们可以删除数据库中的数据(或您需要执行的任何操作)。

要实现超时逻辑,有 2 个选项:

  1. 您有一个单独的服务(控制台应用程序或 Windows 服务)在某个时间间隔运行,用于检查是否有任何用户的超时值大于某个值。如果是,则执行您需要的任何操作。

  2. 如果 任何 用户执行了一个会被阻止的操作,您首先检查是否有任何用户仍然激活它(超时值大于当前时间)。如果有,您将阻止该用户;如果没有,您可以删除旧的超时值,因为它已过期。

关于asp.net-mvc-3 - mvc3检测网站(应用程序)正在关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230913/

相关文章:

linux - 我可以使用命令行或 perl 更改终端位置吗?

c# - mvc 中的自定义错误处理不起作用

javascript - 使用 Javascript 嵌入包含 <script> 的 MvcHtmlString

asp.net - 在 ASP.NET MVC3 的 site.master 页面中将 CSS 作为变量实现

javascript 到 flash 通信,无需嵌入

c# - 如何在 Windows 中嵌入 tabtip.exe

c# - 为什么 System.Windows.MessageBox 滞后于 WPF 窗口?

asp.net - 根据 Controller 指定不同的 _Layout.cshtml

c# - 找不到 MVC 3 Html.BeginForm 表达式重载

jquery - 将事件附加到 JQuery 回调函数内的窗口或文档对象不起作用