2017-06-05 63 views
0

我有一個由許多用戶使用的數據庫應用程序。只要有一個用戶進行更改,我們就會將更改保存到數據庫中。如何在更新時向其他活動用戶發送通知?

現在,我需要通知其他登錄用戶有關此更改。如何才能做到這一點?

我在想 - 當應用程序成功保存/更新數據庫中的數據時,應用程序將向已連接的客戶端發送更新或添加新記錄的通知。

我正在使用C#和SQL Server數據庫。

+0

這是一個網絡應用程序?你的客戶和數據庫之間是否有服務層? –

+0

isnt web應用程序,但Windows窗體應用程序夥計.. –

回答

0

您的直接選項是基於推送的通知,如消息總線或輪詢已知ID上的循環。

消息總線在適用於Windows應用程序的發佈 - 訂閱模型上運行。以MassTransit或MSMQ爲出發點。那裏有很多選擇。可以將它們組合成網絡應用程序,使用基本上包含像SignalR這樣的客戶端的輪詢循環。

基於輪詢的選項通常在計時器上工作,並對數據庫執行快速時間戳或版本#檢查,如果發現差異則重新加載記錄。

基於推送的效率更高,但只能通知支持的應用程序之間的更改。 (客戶端到客戶端),他們沒有檢測到不作爲發佈者參與的應用程序的更改,也沒有看到直接對數據庫所做的更改。

基於輪詢的選項涵蓋所有更改,但速度通常較慢,需要具有版本信息纔能有效工作的模式。

相關問題