Azure SignalR API添加到组

时间:2019-03-05 10:09:47

标签: azure azure-signalr signalr-service

我一直在使用Azure SignalR API来向组,所有人和单个用户发送消息。

我在将用户添加到组时遇到问题。

我按照 https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-quickstart-rest-api#add-user-to-group,并且当我收到成功响应时,该用户未添加到组中。

var url = "xxx.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<userid>"

var request = new HttpRequestMessage(HttpMethod.Put, _azureSignalRUtilities.GetUrl(url));

request.Headers.Authorization = new AuthenticationHeaderValue("Bearer",
            _azureSignalRUtilities.GenerateAccessToken(url, _serverName));
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

我已经从 https://github.com/aspnet/AzureSignalR-samples/tree/master/samples/Serverless

1 个答案:

答案 0 :(得分:3)

通过对samplea应用程序进行一些更改,并添加了新方法以从组中添加/删除用户,我可以向组中添加/删除特定用户,并向该组发送消息。

在此示例中,我将组名硬编码为“ TestGroup”

客户输出

启动了2个客户端“ 123”和“ 456” enter image description here

服务器输出

  1. 只有用户“ 123”被添加到组“ TestGroup”
  2. 消息被发送到“ TestGroup”组,仅被“ 123”接收
  3. 用户“ 123”已从组中删除。

示例代码存在一些问题。 enter image description here

  1. 消息再次发送到组,但没有用户属于 “ TestGroup”,任何用户都未收到它。 enter image description here

我修改了示例应用程序,为此添加了2种方法 addusertogroup 从组中删除用户 还更正了“发送组”

注意:我发现组名区分大小写

完整的代码在此存储库中可用 https://github.com/rahulruikar/Serverless