1

我一直在使用 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复制了样本

4

1 回答 1

3

通过对示例应用程序进行一些更改并添加从组中添加/删除用户的新方法,我能够将特定用户添加/删除到组并向该组发送消息。

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

客户端输出

启动 2 个客户端“123”和“456” 在此处输入图像描述

服务器输出

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

示例代码存在一些问题。 在此处输入图像描述

  1. 消息再次发送到组,但没有用户是“TestGroup”的一部分,并且没有任何用户收到。 在此处输入图像描述

我修改了示例应用程序,为此 addusertogroup removeuserfromgroup 添加了 2 个方法,还更正了“发送组”

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

此存储库中提供了完整的代码 https://github.com/rahulruikar/Serverless

于 2019-03-08T14:49:18.163 回答