asp 当浏览器最小化时,mvc 每 30 秒重新加载一次页面

asp mvc reload page every 30 seconds when browser is minimized

实际上,当数据库中发生某些更新时,我们会播放通知声音,所以我试图在浏览器最小化时每 30 秒重新加载一次 ActionMethod,这在 Firefox 中工作正常,但在 Chrome 这不行。

场景:

最小化浏览器并让计算机闲置。

我试过两种方法:

方法一:

   <meta http-equiv="refresh" content="30;URL=http://example.com/" />

方法二:

 <script>

   $(document).ready(function () {

   setTimeout(function(){
    window.location.reload(1);
    }, 30000);

    });

 </script>

阅读 this post 后,似乎当 Chrome 最小化时它会将 Javascript setIntervalsetTimeout 设置为空闲状态,因为浏览器性能改进会影响 Javascript 间隔的执行。

那么我可以使用 FluentScheduler、Quartz.NET 或 Hangfire 等计划任务每​​ 30 秒重新加载一次 ActionMethod 吗?

任何帮助都会很棒。

SignalR 在这里是绝配。为什么您希望您的客户端每 30 秒向服务器发送一次请求?这可能会影响您的性能并增加您的服务器负载。

相反,我会建议使用 SignalR,并在有任何更新时向客户端推送通知。