Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在信号器1.0rc2版本中未找到信号器IConnectionIdGenerator_C#_Signalr - Fatal编程技术网

C# 在信号器1.0rc2版本中未找到信号器IConnectionIdGenerator

C# 在信号器1.0rc2版本中未找到信号器IConnectionIdGenerator,c#,signalr,C#,Signalr,我使用以下代码实现了自己的连接id生成器: public class MyConnectionFactory : IConnectionIdGenerator { public string GenerateConnectionId(IRequest request) { return MyUserManager.Instance.CurrentUserID.ToString(); } } 这在SignalR 0.5.3版本中运行良好,但在更新到Sign

我使用以下代码实现了自己的连接id生成器:

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

这在SignalR 0.5.3版本中运行良好,但在更新到SignalR 1.0rc2版本后,找不到名称空间或类名。另外,我在这里找不到关于这一突破性变化的任何注释。您能帮我解决这个问题吗?

这确实已经过去了,没有直接替换,因为您现在应该手动进行用户/连接映射

我使用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();
var context=GlobalHost.ConnectionManager.GetHubContext();
context.Clients.Group(userId.yourCallbackMethod();
希望这有帮助,
Yves

我也有同样的问题,虽然我可以使用您的代码,但请您解释一下“您现在应该手动进行用户/连接映射”的意思,因为在传入之前阅读此内容的任何人都不会被呼叫,除非向服务器打电话。我相信GenerateConnectionId是在调用hub.start时调用的