ASP.NET Core SignalR中的客户端生命周期事件

Rob*_*bar 13 javascript signalr signalr.client asp.net-core asp.net-core-signalr

我目前正在将一个项目从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) {});
Run Code Online (Sandbox Code Playgroud)

我也看到了这个问题,但用户只询问了这个onClose事件.

不,我不是在寻找服务器端的终身事件.

更新 - 重新连接事件

好吧,因为根据文档和这个Github问题,没有重新连接(但是?),我对丢失Reconnecting和没有问题Reconnected.可是你知道connectionSlow,startingstateChanged

Jor*_*bot 0

看起来目前HubConnection只有 2 种状态:

  • 已断开连接
  • 连接的

这些状态通过连接中的属性公开state,但没有任何其他状态。

然而,有一个ILogger实例在整个标准操作中被广泛使用。可以通过该方法向HubConnectionBuilderILogger提供自定义。您可以使用自定义记录器来捕获所有单独的事件并做出相应的反应。configureLogging