不是轮询数据库,更可扩展和高性能的方法是轮询Web服务器上是否存在文件,如轻量级js文件。 该文件的内容并不重要,但给你一个想法,你可以有一个类型的JSON对象,更详细地描述该过程的结果。
然后,作为最后一步进行处理的后台进程可以创建该文件或调用Web层上的Web服务来执行此操作。
下面是它的工作原理。
用户按下按钮过程的哪些文章到服务器
服务器踢和返回的标识符例如C3201620-E622-4fe2-9F3A-E02FFA613F59
的Web UI,然后投票peridodically为C3201620-E622-4fe2-9F3A-E02FFA613F59.js的存在时,JavaScript将管理404错误,并不断重试直到它接收到200
希望这给你一些想法。
代码示例处理404在jQuery的
$.ajax({
url: '/CheckForStatusChange/C3201620-E622-4fe2-9F3A-E02FFA613F59.json',
type: "GET",
success: function(result) {
},
error: function(request, status, error) {
//handle error here and setTimeOut
});
性能明智 - 为什么你觉得WebUI轮询文件的存在比轮询数据库更好? – Nick 2010-01-14 15:30:17
此外,JS如何管理404错误的任何代码示例? – Nick 2010-01-14 15:31:34
性能可能可以忽略不计,尽管提供静态文件总是比查询数据存储更快。关键的区别是可扩展性。 Web服务器非常擅长服务静态文件,也不一定要将文件存储在本地Web服务器上,而是可以使用CDN(内容交付网络),这样您可以将所有投票流量从您的核心Web服务器。 – willbt 2010-01-14 19:01:32