我有一个可在 Visual Studio 2019 中运行的 SignalR Core 5.0 应用程序。我将 SignalR 服务器部署到 IIS,但想使用新的 WebSockets 在 Postman 中进行一些测试。
以 VS 项目中的一个集线器方法为例,我们将其称为“SomeHubMethod”,它返回一些数据,调用集线器方法的正确语法是什么?
例如,我如何将这个 C# 调用转换为 Postman WebSocket?
SomeHubMethod = 集线器方法
groupxyz = 发起对 SignalR 服务器的调用的客户端的名称,因此来自服务器的响应应发送到“groupxyz”。假设响应是“Hello World!”
“1234”=只是一些测试数据。
在我的 VS 项目中...
private async void SendSomeHubMethod()
{
await connection.InvokeAsync("SomeHubMethod", "groupxyz", "1234");
}
Run Code Online (Sandbox Code Playgroud)
在我的课堂上会收到回复的地方......
connection.On<string>("TheHubResponse", (m) =>
{
_ = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Debug.WriteLine(m));
// Hello World!
});
Run Code Online (Sandbox Code Playgroud)
我在下面的 Postman WebSocket 链接中找到了我的组装请求...
{"arguments":["groupxyz", "1234"],"invocationId":"0","target":"SomeHubMethod","type":1}
Run Code Online (Sandbox Code Playgroud)
发送时,邮递员显示已连接,但显示“Hello World!” 没有从我的集线器返回。
我找到了这篇文章,但它没有详细介绍调用。
signalr ×1