如何将数据与.NET Core中的SignalR连接相关联?

时间:2018-11-29 14:20:33

标签: asp.net-core-mvc signalr-hub asp.net-core-signalr

在我以前的SignalR(核心前)项目中,我曾经有一个static ConcurrentDictionary<string, MyConnectionClass> Connections = new ...;来代表我的个人连接,以及在连接寿命期间获取的其他数据。

如何在SignalR for .NET Core中解决此问题?

我正在查看本手册:https://medium.com/@andrejsabrickis/recap-creating-a-demo-of-real-time-communication-app-using-aspnetcore-signalr-d8ac0afba081

使用以下内容:

private readonly ConcurrentDictionary<HubConnectionContext, UserDetails> _usersOnline;

现在,我想知道是否应该使用HubConnectionContext作为键。使用安全吗?只要连接可行,该实例将始终与连接ID关联吗?我没有使用任何形式的负载平衡。

1 个答案:

答案 0 :(得分:0)

  

现在,我想知道是否应该使用HubConnectionContext作为键。使用安全吗?只要连接可行,该实例是否始终与连接ID关联?

不。该文章描述的实现实际上使用了:

  1. ConcurrentDictionary<string, UserDetailsDto>

  2. _userTracker.AddUser(connection.ConnectionId, new UserDetailsDto (...))

connection.ConnectionId安全使用,足以将数据与连接关联。