C# 客户端winforms应用程序中的信号集线器连接管理

C# 客户端winforms应用程序中的信号集线器连接管理,c#,winforms,.net-4.0,signalr,C#,Winforms,.net 4.0,Signalr,我正在寻找关于如何最好地处理作为客户端的winforms应用程序中的Signalr hub连接的建议 我有一个web应用程序作为信号器(v0.5.1)服务器,还有一个使用集线器的客户端winforms应用程序。一切正常,我只是觉得我有太多的信号连接到服务器。对于每个表单,我将创建一个新的HubConnection实例,因为。每个表单上使用一个或两个集线器,并非所有表单都订阅服务器事件,有些只是调用服务器端方法 我可以拥有一个(静态)HubConnection(例如程序的属性)并将其用于所有形式吗

我正在寻找关于如何最好地处理作为客户端的winforms应用程序中的Signalr hub连接的建议

我有一个web应用程序作为信号器(v0.5.1)服务器,还有一个使用集线器的客户端winforms应用程序。一切正常,我只是觉得我有太多的信号连接到服务器。对于每个表单,我将创建一个新的
HubConnection
实例,因为。每个表单上使用一个或两个集线器,并非所有表单都订阅服务器事件,有些只是调用服务器端方法

我可以拥有一个(静态)
HubConnection
(例如程序的属性)并将其用于所有形式吗?此策略意味着启动/停止/状态管理麻烦,因为每个表单可能订阅不同的事件


在.Net客户端中管理信号器连接(和集线器)的最佳策略是什么?

是的,整个应用程序只需要一个连接。如何选择存储取决于您(静态与DI等)。

谢谢。我应该如何处理不同表单订阅不同服务器端事件的场景,在连接启动之前是否需要设置所有可能的订阅?这将需要使用连接实例化所有表单,即使表单未被使用/显示。以前是这样,但在0.5.1中不是这样。在开始连接之前,您只需要告诉信号器您关心哪些集线器。太好了。我刚刚从0.4.x升级,还没有跟上详细的更改。@dfowler是否应该每次都创建HubProxy,还是也可以创建一个实例?