繁体   English   中英

Chrome客户端中的订阅行为不一致

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM