Signalr触发多个通话呼叫,并且连接也不会断开连接



我们有一个缩放的(2个实例)Azure Cloud部署了基于ASP.NET Web API的Signalr Hub Hub服务器,该服务器在设备及其移动用户之间充当。几乎是聊天场景。

我们看到,尽管连接还活着,但多次接触式呼叫一些连接。基本上,尽管服务器正在看到多个开启的连接触发的呼叫,但客户端仍然活着能够拨打呼叫,并且它继续使用相同的单个连接与 signalr connectionID。

它好像客户端对服务器上调用的无识别连接没有影响。客户端使用 WebSockets

我们在 ondisconnected (基本上跟踪连接)中进行了一些操作,因此,这会出现在杂草上。我们的代码被封装在尝试/捕获块中,并让 base.ondisconted 运行不管。查看SignalR代码,但无法说明这是怎么可能的。

任何帮助将不胜感激。我们正在使用: Signalr 2.2.2。

您是否使用某种形式的背板来管理自己的状态?如果是这样,看来您的连接ID并未在请求之间同步。即使连接缓慢且无响应但没有断开连接,onDisconnect也会发射,这是由您使用的超时值确定的。在某些情况下,您将在不被解雇的情况下断开连接,大部分时间都是最好的情况。如果您需要根据断开连接进行一些工作,那么最好使用投票策略来确定用户是否仍连接。

最新更新