[英]Inconsistent subscription behaviour in Chrome client
我正在使用SignalR集线器注册我的客户,如下所示:
self.connect = () => {
hub = $.connection.instantMessageHub;
hub.client.receiveMessage = receiveMessage;
hub.client.receiveCommand = receiveCommand;
$.connection.hub.logging = true;
$.connection.hub.start();
}
在Chrome中 ,在初始页面加载或软重新加载(F5)时,客户端未订阅集线器,因此未收到任何消息。 打开日志记录可验证这一点,即不会显示以下行:
[17:12:50 GMT + 0100(GMT标准时间)] SignalR:客户端已订阅中心“ instantmessagehub”。
但是,进行硬重装(Ctrl-F5)会将Chrome客户端连接到中心。 相同的代码在IE和Firefox中的所有情况下均能正常工作,并且在Chrome客户端无法订阅时肯定会被击中。
那么,是什么导致Chrome中这种不一致的中心订阅行为呢?
在浏览完SignalR代码后,我意识到由于调用而导致连接被启动了两次。
$.connection.hub.start();
...在我试图初始化两个单独的集线器时,在两个不同的地方。
在这种情况下,我选择将这两个集线器合并为一个集,因为无论如何它都更有意义。
我不确定为什么这个问题只存在于Chrome中...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.