不是輪詢數據庫,更可擴展和高性能的方法是輪詢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