2015-04-20 54 views
0

使用SignalR,如果這些客戶端沒有直接使用服務,是否可以從我的WCF服務更新網站客戶端?WCF服務中的SignalR更新網站客戶端

我在.NET中有一個桌面應用程序,它具有內部使用net.TCP協議的WCF服務。此應用程序根據某些用戶操作更改數據庫表中的一個狀態字段。我想將此更改通知給正在訪問在同一Web服務器上託管的其他網站的最終用戶。

我已經嘗試過一個SignalR示例,其中如果通知從同一網站的主機發送到它自己的客戶端(股票行情樣本),則通知可以正常工作。但就我而言,該消息應該從WCF服務轉到網站客戶端。

回答

0

IMO你應該做一箇中間跳,例如讓你的網站暴露一個端點(你選擇技術),你可以在每當你有一個改變通知。只要有變化,您的WCF服務就會發布到那裏,並且Web應用程序將通過向目標客戶端廣播信息來處理該帖子(可以是全部,或者可以只是您在過濾後使用某些邏輯進行過濾)。我經常使用這種模式,用HTTP POST實現它。您在Web應用程序中實施SignalR基礎架構時不會遇到任何問題,這是客戶端已連接到的地方。

+0

其實我想通知每當我的應用程序發生變化時。這應該是實時的。我仍然可以使用這種技術嗎? –

+0

當然。您的桌面應用會觸發WCF服務器處理的更改。在這種情況下,WCF可以向Web應用程序發佈消息,說明發生了什麼變化,Web應用程序會向用戶廣播該消息。如果您願意,也可以直接從桌面應用程序將通知發佈到Web應用程序。這是基本原則,如果需要的話,您當然可以在循環中添加任何排隊/冗餘基礎結構。 – Wasp

相關問題