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

时间:2013-09-06 12:16:14

标签: c# signalr

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

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”。但是,默认情况下工作方式我认为这两个调用都将同步到集线器的线程上下文并逐个运行。有没有简单的方法让一个hubProxy在同一个SignalR hubproxy / connection上安排两个并行调用?

1 个答案:

答案 0 :(得分:5)

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