我目前正在将一个项目从ASP.NET SignalR 2.2.3(OWIN(升级到ASP.NET Core SignalR 1.0.2(Kestrel(。
SignalR 2.2.3支持多个客户端生存期事件,如reconnecting
、connectionSlow
、stateChanged
。我们的javascript客户端使用了这些事件,并显示了类似"重新连接"或"连接当前很慢"的内容。
ASP.NET Core SignalR中是否存在或将存在等效程序?到目前为止,我只发现了两个终身事件:
let c = new signalR.HubConnectionBuilder().("/signalR");
c.connection.onClose(function(error) {});
c.connection.onReceive(function(data) {});
我也看到了这个问题,但用户只要求onClose
事件。
不,我不是在寻找服务器端的终身事件。
更新-重新连接事件
好吧,根据文档和这个Github问题,由于没有重新连接(还没有?(,我对缺少的Reconnecting
和Reconnected
没有意见。但是connectionSlow
、starting
和stateChanged
呢?
看起来目前HubConnection只有两种状态:
- 已断开连接
- 已连接
这些状态通过连接中的state
属性公开,但没有其他任何状态。
但是,有一个ILogger
实例在整个标准操作中都得到了突出使用。可以通过configureLogging
方法将自定义ILogger
提供给HubConnectionBuilder。您可以使用自定义记录器来捕获所有单独的事件并做出相应的反应。