C# 什么决定信号器连接ID以及如何手动设置
我在玩信号器,想知道信号器是如何创建连接ID的这是基于我的IP地址、我连接的设备还是其他什么?以及是否可以手动设置此ID。假设我有一个用户数据库,我给它一个唯一的号码,我能用这个号码作为连接ID吗C# 什么决定信号器连接ID以及如何手动设置,c#,connection,signalr,C#,Connection,Signalr,我在玩信号器,想知道信号器是如何创建连接ID的这是基于我的IP地址、我连接的设备还是其他什么?以及是否可以手动设置此ID。假设我有一个用户数据库,我给它一个唯一的号码,我能用这个号码作为连接ID吗 信号器连接Id是生成的guid。如果您希望以更有意义的方式使用数据以用户为目标,我发现通过客户端连接将一些信息传递给signalr hub非常有用,例如用户Id和数据库中的一些其他数据,并根据您提供的信息创建一个组。如果您试图用自己的标识符隔离用户,那么它应该是1:1映射 您可以通过在集线器中重写On
信号器连接Id是生成的guid。如果您希望以更有意义的方式使用数据以用户为目标,我发现通过客户端连接将一些信息传递给signalr hub非常有用,例如用户Id和数据库中的一些其他数据,并根据您提供的信息创建一个组。如果您试图用自己的标识符隔离用户,那么它应该是1:1映射 您可以通过在集线器中重写
OnConnected()
并实现类似的内容来实现这一点,这样可以将生成的Id映射到您自己的Id。然后,您可以根据自己的喜好针对这些组(记住,1:1,模拟Id选择器)
也会涉及到更多的细节
public override Task OnConnected()
{
var user = new User()
{
Id = Context.QueryString["Id"]
Name = Context.QueryString["Name"]
}
Groups.Add(Context.ConnectionId, user.Id);
return base.OnConnected();
}