gpt4 book ai didi

c# - 在 SignalR 1.0rc2 版本中找不到 Signalr IConnectionIdGenerator

转载 作者:行者123 更新时间:2023-12-02 05:15:32 25 4
gpt4 key购买 nike

我曾经使用以下代码实现自己的连接 ID 生成器:

public class MyConnectionFactory : IConnectionIdGenerator
{
public string GenerateConnectionId(IRequest request)
{
return MyUserManager.Instance.CurrentUserID.ToString();
}
}

这在 SignalR 0.5.3 版本中运行良好,但在更新到 SignalR 1.0rc2 版本后,找不到命名空间或类名。此外,我无法在此处找到有关此重大更改的任何说明 https://github.com/SignalR/SignalR/blob/master/ReleaseNotes.md你能帮我解决这个问题吗?

最佳答案

这确实消失了,并且没有直接的替代品,因为您现在应该手动进行用户/连接映射。

我使用 HubPipelineModule 解决了这个问题,并为该用户的所有连接设置了一个组。

public class AuthenticationHubPipelineModule : HubPipelineModule
{
protected override bool OnBeforeIncoming(IHubIncomingInvokerContext context)
{
var id = MyUserManager.Instance.CurrentUserID.ToString();

context.Hub.Groups.Add(context.Hub.Context.ConnectionId, id);

return base.OnBeforeIncoming(context);
}
}

当您想要联系用户时,您可以像这样将其发送到该组:

var context = GlobalHost.ConnectionManager.GetHubContext<YourHub>();
context.Clients.Group(userId).yourCallbackMethod();

希望对您有所帮助,伊夫

关于c# - 在 SignalR 1.0rc2 版本中找不到 Signalr IConnectionIdGenerator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14725051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com