所有连接到集线器卡住/冻结.Websockets重新连接显示404

Rag*_*hav 6 asp.net signalr signalr-hub

我们正面临类似的问题,如https://github.com/SignalR/SignalR/issues/3353

当我们启动我们的应用程序时,一段时间后连接到集线器的所有用户开始重新连接问题.

在Chrome控制台中,所有用户都会看到这种情况:

jquery.signalR.min.js WebSocket连接到'wss:// [我们的站点url]/signalr/reconnect?transport = webSocke ... HcDfA%3D%3D&connectionData =%5B%7B%22name%22%3A%22myhub%22% 7D%5D&tid = 10'失败:WebSocket握手期间出错:意外响应代码:404

所有用户都处于重新连接模式,即此方法将持续为所有用户触发:

connection.hub.stateChanged(function (change) {
                if (change.newState === $.connection.connectionState.reconnecting) {
                    failPendingMessages();
                    ui.showStatus(1, '');
                }
                else if (change.newState === $.connection.connectionState.connected) {
                    if (!initial) {
                        ui.showStatus(0, $.connection.hub.transport.name);
                        ui.setReadOnly(false);
                    } else {
                        ui.initializeConnectionStatus($.connection.hub.transport.name);
                    }

                    initial = false;
                }
                else if (change.newState === $.connection.connectionState.disconnected && initial === true) {
                    initial = false;
                }
            });
Run Code Online (Sandbox Code Playgroud)

我们正在使用Jabbr源代码中的代码.

状态正在从连接>重新连接>双向连接>连接

似乎有很多连接后,所有与Hub的连接仍然卡住,即无法正确地与集线器通信,因此连接断开,我们收到"WebSocket握手:意外响应代码:404",我上面提到过.

请注意,此行为/问题没有固定的时间.有时它会在"应用程序启动"的几分钟内开始,有时需要大约20-30分钟.

这个问题肯定是因为许多连接通过Hub同时与Signalr核心代码进行通信.

它有什么问题吗?

编辑:我们使用的是最新版本的Signalr,即Microsoft.AspNet.SignalR.Core.dll(2.2.0)