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

时间:2016-07-16 11:59:35

标签: asp.net-mvc asp.net-mvc-3 reload actionmethod

实际上我们在数据库中发生某些更新时播放通知声音,因此我尝试在浏览器最小化时每30秒重新加载ActionMethod,这在Firefox中工作正常,但在Chrome中这不起作用

情境:

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

我尝试了两种方法:

方法1:

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

方法2:

 <script>

   $(document).ready(function () {

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

    });

 </script>

在阅读this帖后,看起来当Chrome最小化时,它会将Javascript setIntervalsetTimeout设置为空闲状态,因为浏览器性能的提升会影响Javascript间隔的执行。

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

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

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

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