【问题标题】:How do I associate data with a SignalR connection in .NET Core?如何在 .NET Core 中将数据与 SignalR 连接相关联?
【发布时间】:2018-11-29 14:20:32
【问题描述】:

在我的旧 SignalR(Core 之前)项目中,我曾经有一个 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 相关联?我没有使用任何类型的负载平衡。

【问题讨论】:

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


    【解决方案1】:

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

    没有。那篇文章描述的实现实际上使用了:

    1. ConcurrentDictionary&lt;string, UserDetailsDto&gt;

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

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

    【讨论】:

      猜你喜欢
      • 2020-08-17
      • 1970-01-01
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多