2012-06-19 85 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