SignalR从阵列创建组

时间:2016-09-21 04:43:06

标签: asp.net-web-api signalr signalr-hub signalr-2

我可以看到创建组的方式:

public Task CreateGroup(string group)
{
    return Groups.Add(Context.ConnectionId, group);
}

如何为实体Ids的{​​{1}}创建一个组数组(具有Id和Name属性),即使我唯一的连接ID是Channel
(使用context.ConnectionId语法编辑)

如果我有一组组名,我希望能够在此基础上创建组。有点像...

Task

1 个答案:

答案 0 :(得分:1)

您可以这样做:

public async Task CreateGroup(string[] groups)
{
    foreach (var group in groups)
    {
        await Groups.Add(Context.ConnectionId, group);
    }
}

然而,有一个警告要将客户端添加到许多组。在客户端和服务器之间发送组成员资格的方式是groupsToken,它是连接所属的组的加密和编码列表。一旦连接属于许多组,groupsToken就变得非常长。由于groupsToken在查询字符串中发送用于某些操作(最明显的是重新连接,或者在每个轮询请求的longPolling的情况下),如果它太长,请求可能会因为url为long而失败。