[英]Best way to notify clients for an update?
好的,在服務器端有一個桌面應用程序,用於將一些信息插入數據庫(新聞,圖像等),我有客戶端從數據庫收集這些信息並將它們存儲到本地XML中。
因此,每個客戶端從數據庫下載新聞並顯示它們。
問題是我如何通知客戶有更新。
我的解決方案
我想使用像UpdateID這樣的數據庫,並且每次數據更新到數據庫UpdateID都應該是Incremented +1,然后每個客戶端都應該在其XML中有一個屬性UpdateID,並檢查他們的UpdateID是否與Server UpdateID匹配,如果不是這樣的話一個新的更新。 在每次成功更新時,客戶端都應將服務器UpdateID放入其XML UpdateID中。
那么有沒有更好的方法來實現這一目標?
PS:我正在使用的數據重新呈現層是WCF服務
我認為你提出的拉模型可能是最容易實現的,也是最簡單的問題解決方案。 但是,知道您正在使用WCF Web服務,您可以使用WCF Callbacks
實現推送模型。 在這個模型中,您可以像平常一樣編寫服務合同,但客戶端在服務器上注冊自己。 在服務器上的數據更新時,服務器在所有已注冊的客戶端上調用回調函數,該客戶端通過獲取新數據進行響應。
該模型的典型展示應用是票務系統,票據經常被預訂和發布。 這種方法消除了客戶端不斷輪詢服務器的需要。
名為“ 使用WCF回調消除服務器輪詢 ”的文章提供了有關該主題的更多詳細信息,並附帶了票證系統示例。 本文還介紹了此方法。
我並不是說這比你自己建議的更好,但它可能值得研究。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.