SignalR 广播消息在停止/启动后重复
Posted
技术标签:
【中文标题】SignalR 广播消息在停止/启动后重复【英文标题】:SignalR Broadcast Messages Duplicated after Stop/Start 【发布时间】:2014-01-25 10:41:36 【问题描述】:每次我停止/启动连接时,都会复制集线器发送给客户端的消息。
如果我执行这个序列: $.connection.hub.stop() $.connection.hub.start() ...
并从服务器集线器向客户端发送一条消息,该消息被接收一次。 如果我重新执行上述序列,我将收到两次相同的消息,即使服务器集线器调用 Clients.Client(Context.ConnectionId).acceptMsg(msg); 只有1次。对于具有 connectionId 的同一消息,在客户端调用 acceptMsg 两次。 我使用 Clients.All.acceptMsg(msg) 得到相同的结果
对于每个后续的停止/启动,消息会进一步复制;第三次发送三条消息,第四次发送四条消息,以此类推。
我尝试将停止和启动的调用分开几分钟,但没有任何区别。
其他详细信息:javascript 客户端、SignalR v2.0.1、Chrome 版本 31.0.1650.63、ASP.Net 4.5。 SignalR 在我的测试中使用长轮询,我允许默认协商。在 SignalR 跟踪中,“SignalR:中止 xhr 请求”。在停止之后,开始之前观察。
知道是什么导致我的消息在这种情况下被复制吗?
【问题讨论】:
【参考方案1】:这是一个已知问题,已在即将发布的 2.0.2 版本中修复。这是供参考的 GitHub 问题:https://github.com/SignalR/SignalR/issues/2595
【讨论】:
这看起来像。谢谢!以上是关于SignalR 广播消息在停止/启动后重复的主要内容,如果未能解决你的问题,请参考以下文章