我正在使用ASP.NET Core 2.2,并实现了聊天应用程序。我以这种方式实现了重新连接:
this._hub.onclose(() => {
if (this.debug) console.debug('hub connection closed');
hub connection was closed for some reason
let interval = setInterval(() => {
// try to reconnect hub every 5 seconds
this.start().then(() => {
// reconnect succeeded
this.join(true);
clearInterval(interval);
if (this.debug) console.debug('hub reconnected');
});
}, 5000);
});
效果很好。但是然后,如果我部署了新版本的应用程序,并且连接断开,那么我突然会向单个客户端的/negotiate
端点发出100个POST请求。并且还通过id参数向集线器发送404。如果我在本地测试,一切正常。而且我无法重现。
知道这是哪里来的吗?
修改
我相信我的重新连接实现不是很好。因为在我重新连接后,Chrome打开了4个或更多Web套接字。所以我想我需要改变这一点。关于如何正确实施的任何建议?