2014-05-17 256 views
0

我目前在windows azure網站上託管2個webstites(clientportal和admin)。蔚藍網站之間的溝通

我現在要介紹SignalR,以擺脫javascript輪詢。我需要的是當管理員在管理網站上發送廣播消息時,所有活動客戶端都應該收到它。現在,客戶一直在輪詢Web服務器,當ajax poll收到時,Web服務器會檢查數據庫中的新消息。

從管理網絡服務器通知客戶端網絡服務器的最佳方式是什麼? WebApi可以嗎?或者有沒有簡單的方法?

回答

1

從Azure網站和SignalR的角度來看,透明誰是客戶,誰是管理員。這是一個實現細節,因此有很多方法可以做到這一點。

SignalR分爲兩部分:JavaScript庫和用於創建「Hub」的.NET庫。一種完成你所要做的工作的方法是使用SignalR和ASP.NET Web API的.NET方面在Admin後端實現Hub功能;並使用SignalR的JavaScript端來訂閱和監聽客戶端的通知。

另一種方法是爲SignalR Hub創建第三個組件,獨立於客戶端和管理員網站。在這種情況下,管理員和客戶都會訂閱Hub,但只有管理員會推送,客戶會聽。

你可以在互聯網上找到許多工作示例。這是其中之一:http://msdn.microsoft.com/en-us/magazine/hh965663.aspx

我希望這能回答你的問題。