我正在开发一个.NET Core Web API,并将我们的SignalR功能切换为使用Azure SignalR服务。我有一个集线器,它尝试将连接添加到一个类似于以下内容的组:
public async Task Subscribe(string groupName)
{
await Groups.AddToGroupAsync(Context.ConnectionId, groupName);
}
当我从Postman调用hub方法时,它没有向组添加连接,而是从实时跟踪工具记录了一个“ConnectionIsInvalidOnJoiningGroup”事件,其中包含以下消息:* “当通过消息[1010050182311292541]将连接NThbLZQ9f6g3XCj1e987NsM添加到组Org1时,连接NThbLZQ9f6g3XCj1e987NsM无效。"*
有什么想法,为什么它不能添加到一个组的连接?
1条答案
按热度按时间ldxq2e6h1#
通过将我们的应用服务添加到“SignalR Rest API所有者”角色,我们能够解决该问题。
这些是我必须采取的步骤,通过连接 Postman :
1.创建新的Http请求
1.将方法设置为POST
1.添加带有承载令牌的“授权”标头。
1.将POST发送到https://path/to/my/hub/协商版本= 1
1.从响应中复制“url”值
1.创建新WebSocket请求
1.将URL类型设置为原始
1.粘贴步骤5中的URL并将“https”替换为“wss”
1.添加“access_token”参数并设置为POST响应中的“accessToken”值。
1.连接
1.发送消息以设置协议:{“协议”:“json”,“版本”:1}
1.发送消息以调用我的中心方法。{“目标”:“MyHubMethod”,“参数”:[“arg 1”,“arg 2”],“调用ID”:“0”,“类型”:1}
更简单的测试方法是使用以下Web客户端:https://gourav-d.github.io/SignalR-Web-Client/dist/