我目前正在将一个项目从ASP.NET SignalR 2.2.3(OWIN)升级到ASP.NET Core SignalR 1.0.2(Kestrel)。
SignalR 2.2.3支持几个客户端的lifetime events,如reconnecting
,connectionSlow
,stateChanged
,.......我们的javascript客户端使用这些事件并显示类似“重新连接”或“连接当前很慢”的内容。
是否存在或将存在ASP.NET Core SignalR中的等价物?到目前为止我只发现了两个终生事件:
let c = new signalR.HubConnectionBuilder().("/signalR");
c.connection.onClose(function(error) {});
c.connection.onReceive(function(data) {});
我也看过this question,但是用户只询问了onClose
事件。
不,我不是在寻找服务器支持lifetime events。
好吧,因为根据docs和这个Github issue没有重新连接(但是?),我对缺少的Reconnecting
和Reconnected
没问题。但是connectionSlow
,starting
和stateChanged
呢?
看起来目前HubConnection只有2个州:
这些州通过连接中的state
财产暴露,但没有其他任何状态。
但是,有一个ILogger
实例在整个标准操作中占据显着位置。可以通过ILogger
方法向HubConnectionBuilder提供自定义configureLogging
。您可以使用自定义记录器捕获所有单个事件并做出相应的反应。