【问题标题】:SignalR multiple concurrent calls from clientSignalR 来自客户端的多个并发调用
【发布时间】:2013-09-06 12:16:13
【问题描述】:

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

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 上安排两个并行调用?

【问题讨论】:

    标签: c# signalr


    【解决方案1】:

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

    【讨论】:

    • 我猜底层网络连接并不关心消息是否交错,重要的是使用连接的协议。不是Question 1 Reply1 Question 2 Reply2,怎么知道SignalR客户端不支持Question1 Question2 Reply1 Reply2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多