簡體   English   中英

通知客戶更新的最佳方式?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM