实际上我们在数据库中发生某些更新时播放通知声音,因此我尝试在浏览器最小化时每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 setInterval
和setTimeout
设置为空闲状态,因为浏览器性能的提升会影响Javascript间隔的执行。
那么我可以使用FluentScheduler,Quartz.NET或Hangfire等计划任务每30秒重新加载ActionMethod
吗?
任何帮助都会很棒。
答案 0 :(得分:1)
SignalR是一个完美的匹配。为什么您希望客户每30秒向服务器发送一次请求?这可能会影响您的性能并增加您的服务器负载。
相反,我建议使用SignalR并在有任何更新时将通知推送到客户端。