我有一个网页,用户提交一个由Windows进程选中的任务(如果有任何项目处理了flag = false,则会检查SQL表)。处理完毕后,该标志设置为true。我需要在网页上更新已处理的状态。这样做最有效的方法是什么? (我知道一种方法是每隔几秒发出一次ajax请求)
答案 0 :(得分:1)
Comet是一种更新浏览器以显示进度的有趣方法。目前唯一的另一种选择(据我所知)是轮询,但正如你所建议的那样
总结彗星:您保持从网络服务器打开连接,并定期发送带有javascript的脚本块。这些在浏览器下载时自动运行,可用于更新进度。您只需要在更新时发送脚本块,其余时间连接保持打开但空闲
答案 1 :(得分:0)
由于web by design不支持push,而是支持数据,因此AJAX是最有意义的方式。
你也可以参加一些隐藏的iframe定期刷新hackery,但那只是呃。
答案 2 :(得分:0)
Comet,或者将数据从网络服务器推送到浏览器而不是从浏览器轮询到服务器,可以是您正在寻找的。 p>
查看http://www.aaronlerch.com/blog/2007/07/08/creating-comet-applications-with-aspnet/