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



在我以前的SignalR(核心之前(项目中,我曾经有一个static ConcurrentDictionary<string, MyConnectionClass> Connections = new ...;来表示我的个人连接,并在连接生命周期内获取额外的数据。

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

我正在看这本手册:https://medium.com/@andrejabrickis/回顾-创建实时通信演示-应用程序-信号-核心-d8ac0afba081

它使用以下内容:

private readonly ConcurrentDictionary<HubConnectionContext, UserDetails> _usersOnline;

现在,我想知道是否应该使用HubConnectionContext作为密钥。使用安全吗?只要连接可行,该实例是否总是与连接id关联?我没有使用任何类型的负载平衡。

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

否。这篇文章描述的实现实际上使用了:

  1. ConcurrentDictionary<string, UserDetailsDto>

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

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

最新更新