每次停止/启动连接时,都会复制集线器发送到客户端的消息。
如果我执行此序列: $ .connection.hub.stop() $ .connection.hub.start(){...}
并从服务器中心向客户端发送消息,一次收到消息。 如果我重新执行上述序列,即使服务器中心呼叫,我也会收到两次相同的消息 Clients.Client(Context.ConnectionId).acceptMsg(MSG); 只有一次。对于具有connectionId的相同消息,在客户端调用acceptMsg两次。 我使用Clients.All.acceptMsg(msg)
获得相同的结果对于每个后续停止/开始,消息进一步重复;第三次发送三条消息,第四条发送四条消息等等。
我尝试将停止的调用分开并开始几分钟,但没有任何区别。
其他详细信息:Javascript客户端,SignalR v2.0.1,Chrome版本31.0.1650.63,ASP.Net 4.5。 SignalR在我的测试中使用长轮询,我允许默认协商。在SignalR跟踪中,“SignalR:Aborted xhr request”。在停止之后,在开始之前观察。
知道是什么导致我的邮件在这种情况下被复制了吗?
答案 0 :(得分:5)
这是一个已知问题,已在即将发布的2.0.2版本中修复。以下是GitHub问题供参考:https://github.com/SignalR/SignalR/issues/2595