来自客户端的多个并发呼叫的信号

本文关键字:并发 呼叫 信号 客户端 | 更新日期: 2023-09-27 18:30:22

我希望能够做这样的事情:

IHubProxy myHubProxy = /* ... */;
var t1 = Task.Run(() => myHubProxy.Invoke<int>("Foo");
var t2 = Task.Run(() => myHubProxy.Invoke<int>("Foo");
var r1 = await t1;
var r2 = await t2;

其中"Foo"在服务器上并行执行。但是,默认情况下的工作方式我相信这两个调用都将同步到中心的线程上下文并逐个运行。有没有简单的方法可以让单个集线器代理在同一 SignalR 集线器代理/连接上安排两个并行调用?

来自客户端的多个并发呼叫的信号

您无法并行发送消息,因为像 webSockets 这样的传输始终使用相同的连接,您将尝试交错消息并且无法处理。如果您需要并行进行多个传输,请使用多个连接