2011-10-11 53 views
6

多個Web應用程序之間的通信我有需要每個人的(我可以通過目前使用Silverlight複式完成,但這並不規模非常好)進行通信兩個不同的Web應用程序。在閱讀了關於SignalR之後,我想嘗試一下,但未能找到有關如何執行此操作的大量文檔。任何意見,如何開始將不勝感激。使用SignalR

謝謝!

更具體的信息: 實施例: 應用A(招標接口) - 甲網頁以允許多個終端用戶放置對某些項目的出價。

應用B(管理接口) - 一個網頁以允許用戶(或可能是多個用戶)來監視/控制從出價接口的操作。

所以,當從應用A的用戶安置出價在一塊,我需要一種方法來提醒出價被放置應用B。然後從應用程序B,如果用戶選擇接受投標,我需要嚮應用程序A發送警報(以更新當前價格,提高投標等...)

+0

你可以提供一些關於具體設置的更多細節嗎?你如何溝通? – davidfowl

+0

我已經用更具體的信息更新了請求。謝謝你的幫助! – user989953

回答

2

在所有的誠實中,可能會更簡單讓每個應用程序通過標準服務調用(WCF,ASMX,HTTP處理程序端點,MVC控制器等)將通知推送給對方。 SignalR在瀏覽器到服務器通信中很有用,因爲從服務器到連接的瀏覽器沒有一致的方法。但從Web應用程序到Web應用程序的推送很簡單;應用程序A只是調用應用程序B上的服務端點來通知它發生了一些事情。

+0

這可能工作......假設應用程序A和應用程序B總是作爲一個單一的實體一起工作......實際上並不是真實世界的行爲方式......我可以說這個解決方案引入了大量其他結果令人頭疼。另外...爲什麼緊緊綁定,當你可以鬆散綁定? – War

0

假設你想要的東西是一樣的東西......

用戶(瀏覽器)應用--- A ---應用B ---用戶(瀏覽器)

實時通信可以通過完成執行以下操作...

這不是signalR的工作不過像NServiceBus將適合這個非常好。

您參考總線dll文件和集線器既可以提高和響應事件。 在您的情況下,您將同時使用SignalR和您的服務總線技術來允許跨應用程序同步。

所以這個過程是一樣的東西......

  1. 用戶在應用程序A火災了瀏覽器,並請求頁面。
  2. 應用程序A創建內部訂閱服務總線事件的Hub實例
  3. 應用程序B中的用戶啓動瀏覽器並請求頁面。
  4. 應用程序B創建內部訂閱服務總線事件的Hub實例
  5. 任一應用程序上的用戶都會執行一些操作,導致SignalR接收消息。
  6. SignalR引發總線事件說「此用戶做了什麼」的服務總線上。
  7. 其他通過訂閱事件的應用程序獲取事件通知並採取任何行動通知其連接的用戶。

在這裏學習的經驗... 不要試圖讓技術做一些超出其目的的事情......使用正確的工具來完成這項工作。

在完成核心框架設置後,可以使用略多於約20行的代碼完成整個解決方案。

NServiceBus可以在這裏找到:

http://particular.net/nservicebus

免責聲明:唯一的技術,可能還有其他的解決方案,但這一建議不要以爲這是這是可以解決的唯一途徑,而以這種方式使用。 我不以任何方式與特定或NServiceBus產品關聯。