2012-01-17 44 views
2

假設我有一個GridView,GridView將通過WCF顯示來自數據庫的數據。如何在Silverlight中保存數據?

我能想到的唯一的辦法是使用

  1. 定時器來繼續查詢從WCF(簡單)。

  2. 最好的辦法是當數據在 數據庫發生變化時得到通知,以便使用查詢通知。但是現在,WCF位於Silverlight客戶端和數據庫之間, 之間,因此查詢通知將只發送到WCF。然後我需要 使WCF使用雙工通信。 (聽起來有點小題大做......)

  3. 刷新...按鈕......(這是一個笑話)

有沒有什麼更好的辦法做這件事?

回答

0

我曾經爲一家制作醫療軟件的公司工作,我們有一個應用程序必須監視醫生和訂單,並不斷更新。我們使用了一個計時器,就像你上面描述的那樣。還有一些額外的組件 - 例如,我們可以通過軟件更改採樣率,這樣在繁忙時間裏,我們可以更頻繁地ping數據庫,而在較慢的時間內更少。高速緩存也已實施。還有一個系統可以首先提取較少量的數據,然後只在需要時才提取更多數據。例如,如果醫生自上次更新以來沒有進行過輪巡,則無需檢查是否更新了患者數據。像這樣的東西。

+0

是的,我看到了類似的實現。我們有一個小表,用於指示數據表是否有任何更改並對數據庫表進行版本控制。所以它只有在數據發生變化時纔會提取實際數據。採樣率不同的定時器是個不錯的主意,它可以節省大量的帶寬。但是我想看看是否有類似於2的情況。當需要拉取數據時,確實只需要拉取數據,因此我們不必對數據庫(或WCF)進行ping操作。 – 2012-01-17 17:13:25