【发布时间】:2019-04-09 10:32:25
【问题描述】:
我正在使用 signalR v.1.1.2 https://github.com/aspnet/SignalR#readme(是的,已经过时了) 我已经成功初始化并启动了 signalR 连接。 几分钟后,连接断开,我在控制台中记录了这个烦人的犹豫错误,由 signalR 的内部库触发。
Error: Connection disconnected with error 'Error: WebSocket closed with status code: 1006 ()'
我的目标是通过适当的事件侦听器捕获此错误并立即重新连接或通过重试连接模式弹出窗口通知用户。我只是无法捕捉信号器关闭事件。我错过了什么吗?
我非常绝望,我写了大约 20 种方法来解决这个问题,但没有一个对我有用。我确信这些方法绑定到我设置和运行的连接实体。顺便说一句,关于连接生命周期的 signalR 文档页面,也不适用于我 https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/handling-connection-lifetime-events#how-to-notify-the-user-about-disconnections
欢迎任何帮助或建议。 提前致谢。
这些都不起作用:
console.log("disconnected inline cb")
})
connection.connectionSlow((resp) => {
console.log("connectionSlow inline cb")
})
connection.onclose((resp) => {
console.log("onclose inline cb")
})
connection.close((resp) => {
console.log("close inline cb")
})
connection.on('Disconnected', (resp) => {
console.log("camelCase Disconnected inline cb")
})
connection.on('ConnectionSlow', (resp) => {
console.log("camelCase ConnectionSlow inline cb")
})
connection.on('OnClose', (resp) => {
console.log("camelCase OnClose inline cb")
})
connection.on('Close', (resp) => {
console.log("camelCase Close inline cb")
})
connection.on('disconnected', (resp) => {
console.log("lowercase Disconnected inline cb")
})
connection.on('connectionSlow', (resp) => {
console.log("lowercase ConnectionSlow inline cb")
})
connection.on('connectionslow', (resp) => {
console.log("lowercase 2 Connectionslow inline cb")
})
connection.on('close', (resp) => {
console.log("lowercase close inline cb")
})
connection.on('onClose', (resp) => {
console.log("lowercase OnClose inline cb")
})
connection.on('onclose', (resp) => {
console.log("lowercase 2 Onclose inline cb")
})
connection.connection.disconnected((resp) => {
console.log("connection.connection disconnected inline cb")
})
connection.connection.onclose((resp) => {
console.log("connection.connection onclose inline cb")
})
connection.connection.connectionSlow((resp) => {
console.log("connection.connection connectionSlow inline cb")
})
connection.connection.close((resp) => {
console.log("connection.connection close inline cb")
})
connection.connection.on('close', (resp) => {
console.log("connection.connection lowercase close cb")
})
connection.connection.on('Close', (resp) => {
console.log("connection.connection camelcase close cb")
})
connection.connection.on('disconnected', (resp) => {
console.log("connection.connection disconnected inline cb")
})
connection.connection.on('onclose', (resp) => {
console.log("connection.connection onclose inline cb")
})
connection.connection.on('onClose', (resp) => {
console.log("connection.connection lowercase onclose inline cb")
})
connection.connection.on('connectionSlow', (resp) => {
console.log("connection.connection lowercase connectionSlow inline cb")
})
connection.connection.on('connectionslow', (resp) => {
console.log("connection.connection lowercase2 connectionSlow inline cb")
})
connection.connection.on('Disconnected', (resp) => {
console.log("connection.connection camelCase disconnected inline cb")
})
connection.connection.on('OnClose', (resp) => {
console.log("connection.connection camelCase onclose inline cb")
})
connection.connection.on('ConnectionSlow', (resp) => {
console.log("connection.connection camelCase connectionSlow inline cb")
})```
【问题讨论】: