如何在Web应用程序内每2分钟轮询一次?我正在寻找类似于winforms中的计时器的东西。
poller类将是应用程序中的单例(我使用容器处理生命周期),我也知道webapp中对象的生命周期。
答案 0 :(得分:6)
Web应用程序代码无意无限期地连续运行。 IIS可以基于各种条件每小时多次关闭或回收它。
更好的方法是编写Windows服务或使用计划任务。
答案 1 :(得分:0)
有很多选择。 SignalR是一个很好的框架,可以解决轮询问题,根据浏览器提供的支持,它可以优雅地从WebSockets回退到Long Polling。
答案 2 :(得分:0)
JS中有2个选项
// easy
function run() {
// do stuff
}
setInterval(run, 120000)
// safer
function run() {
// do stuff
setTimout(run, 120000);
}
setTimout(run, 120000);
答案 3 :(得分:0)
将meta http-equiv刷新设置为.aspx页面中所需的秒数,页面将按照定义自动刷新,您可以更新,例如,Label.Text = DateTime.Now.Tostring(),以显示时间。但如上所述,做到这一点并不总是很好的做法。对于部分渲染,您可以依赖AJAX更新面板
答案 4 :(得分:0)
WebBackgrounder如果您有小规模需求(这很容易设置//最小基础设施)。
Windows服务/ Worker Role / Console App (that is executed as a periodic task)用于认真工作。