2012-06-19 82 views
1

我正在尋找諮詢如何最好地處理在WinForms應用程序充當客戶端Signalr樞紐連接。Signalr樞紐連接管理WinForms應用程序

我有一個網絡應用程序作爲Signalr(v0.5.1)服務器和使用集線器客戶端WinForms應用程序。一切正常,我只是覺得我有太多的信號連接到服務器。對於每個表單我創建一個新的HubConnection實例,因爲hub needs to subscribe to events before the connection is started。每個表單使用一個或兩個集線器,並非所有表單都訂閱服務器事件,有些只是調用服務器端方法。

我可以有一個(靜態)HubConnection(如該計劃的屬性),並將其用於各種形式的?這種策略意味着啓動/停止/狀態管理的麻煩,因爲每個表單可能會訂閱不同的事件。

什麼是在.NET客戶端管理Signalr連接(和集線器)的最佳策略?

回答

2

是的,你只需要爲你的整個應用程序的一個連接。你如何選擇存儲,取決於你(靜態vs DI等)。

+0

謝謝。我應該如何處理不同的表單訂閱不同的服務器端事件的情況,在連接開始之前是否需要設置所有可能的訂閱?這需要使用連接實例化所有表單,即使表單不是未使用/顯示。 – AUSteve

+0

之前是這樣的情況,但不是0.5.1。在開始連接之前,您只需告訴Signalr您關心哪個集線器。 – davidfowl

+0

太好了。我只是從0.4.x升級而來,還沒有趕上詳細的變化。 – AUSteve