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