C# 信号机中的组管理器

C# 信号机中的组管理器,c#,asp.net-core,.net-core,signalr,asp.net-core-signalr,C#,Asp.net Core,.net Core,Signalr,Asp.net Core Signalr,是否可以在SignalR中创建自定义组管理器?我想要的是覆盖signar服务器集线器的默认IGroupManager功能,该功能似乎只支持Groups.AddToGroupAsync(Context.ConnectionId,groupName),并希望将其替换为类似Groups.AddToGroupAsync(Context.UserIdentifier,groupName)。组的功能也是如此。RemoveFromGroupAsync。我如何做到这样的行为?如果在Startup.Configu

是否可以在SignalR中创建自定义组管理器?我想要的是覆盖signar服务器集线器的默认
IGroupManager
功能,该功能似乎只支持
Groups.AddToGroupAsync(Context.ConnectionId,groupName)
,并希望将其替换为类似
Groups.AddToGroupAsync(Context.UserIdentifier,groupName)
组的功能也是如此。RemoveFromGroupAsync
。我如何做到这样的行为?如果在
Startup.ConfigureServices(IServiceCollection服务)
中插入自定义的
IGroupManager
,它会工作吗?我正在使用Microsoft.Asp.NetCore.SignalR 3.1.0。

连接ID应映射到用户ID。您的更改将如何带来好处?我如何将connectionId映射到userId?我不记得具体细节,但应该在此处进行记录:我认为这不是一个可行的解决方案,因为如果用户重新连接,connectionId可能会更改,但userId不应该更改。此外,基于connectionId本身创建组也没有意义,因为如果connectionId发生更改(由于重新连接),我们将不得不在组中重新注册用户。您的自定义组管理器不也必须这样做吗?