【发布时间】:2023-03-31 21:01:02
【问题描述】:
当我调用 HubConnection.Start() 到一个尚未启动和运行的端点时,我希望 HubConnection 会做它应该做的任何事情来持续建立连接。至少我认为 SignalR 客户指南是这样告诉我的:
当您在 SignalR 客户端中调用 Start 方法时,您正在向 SignalR 客户端代码提供建立与服务器的物理连接所需的所有信息。 SignalR 客户端代码使用此信息发出 HTTP 请求并建立使用四种传输方法之一的物理连接。如果传输连接失败或服务器失败,SignalR 连接不会立即消失,因为客户端仍然拥有自动重新建立到相同 SignalR URL 的新传输连接所需的信息。在这种情况下,不涉及用户应用程序的干预,并且当 SignalR 客户端代码建立新的传输连接时,它不会启动新的 SignalR 连接。 SignalR 连接的连续性体现在调用 Start 方法时创建的连接 ID 不会改变。
但是,我没有看到这个。 Start() 引发异常。即使我忽略它,然后启动我的服务器集线器,HubConnection 也不会尝试再次连接。
我是否误解了指南?在所有 SignalR 客户端重新连接逻辑发生之前,我必须首先成功连接吗?
【问题讨论】: