【问题标题】:Signalr hub connection management in client winforms app客户端 Winforms 应用程序中的 Signalr 集线器连接管理
【发布时间】:2012-06-19 15:02:18
【问题描述】:

我正在寻找有关如何在充当客户端的 winforms 应用程序中最好地处理 Signalr 集线器连接的建议。

我有一个 Web 应用程序作为 Signalr (v0.5.1) 服务器和一个使用集线器的客户端 winforms 应用程序。一切都按预期工作,我只是觉得我与服务器的 Signalr 连接太多。对于每个表单,我都创建了一个新的HubConnection 实例,因为hub needs to subscribe to events before the connection is started。每个表单使用一个或两个集线器,并非所有表单都订阅服务器事件,有些只是调用服务器端方法。

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

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

【问题讨论】:

    标签: c# winforms .net-4.0 signalr


    【解决方案1】:

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

    【讨论】:

    • 谢谢。应该如何处理不同表单订阅不同服务器端事件的场景,是否需要在连接开始前设置所有可能的订阅?这将需要使用连接实例化所有表单,即使该表单未使用/未显示。
    • 以前是这样,但在 0.5.1 中不是这样。您只需要在开始连接之前告诉 Signalr 您关心哪些集线器即可。
    • 太棒了。我刚刚从 0.4.x 升级,还没有赶上详细的变化。
    • @dfowler 应该每次都创建 HubProxy 还是也可以是单个实例?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 2022-09-24
    相关资源
    最近更新 更多