问题描述
我在ASP.NET Core中有一些与SignalR相关的问题。作为SignalR的新手,我对这些问题不太自信:
- 根据此article组,可以在ASP.NET SignalR中重新加入。 ASP.NET Core附带的SignalR中是否也有相同的行为?
- 如果客户端必须重新连接到SignalR集线器,
Context.ConnectionId
是否保持不变(在此通过重新连接,我的意思是刚刚从非活动连接中恢复并且没有更改为新网站)?
配置:
我正在使用ASP.NET Core 3.1和随附的SignalR服务器版本3.1.0。对于客户端,我使用两种客户端:.NET Core SignalR客户端版本3.0和Javascript客户端3.1.8。
解决方法
因此,在此期间我一直在自己做一些研究,并认为这篇文章可能对某些人有所帮助。
根据本文,在ASP.NET SignalR中可以重新加入组。 ASP.NET Core附带的SignalR中是否也有相同的行为?
否,在ASP.NET Core SignalR中重新连接时,不会保留组成员身份。选中此link。
如果客户端必须重新连接到SignalR集线器,那么Context.ConnectionId是否保持不变(通过此处的重新连接,我的意思是刚刚从非活动连接中恢复并且没有更改为新网站)?
否,因为该连接对于SignalR服务器来说是全新的,所以会生成一个新的connectionId。这可能是因为客户端实例化了一个新的协商调用,从而导致了一个新的connectionId。