当前位置: 首页 > 知识库问答 >
问题:

如何在C#中并行执行不同的REST API请求。NET Core?

鲁景山
2023-03-14

问题说明

我需要一次发送多个API调用。

我有三个不同的 API endpoint,如下所示,所有这些endpoint都需要尽快调用。这一切都是相互独立的。

public async Task<string> GetA(string a)
{
}

public async Task<string> GetB(int a)
{
}

public async Task<string> GetC(int a, string a)
{
}

我所尝试的

我试着这样:

public async Task CallMultipleAPIs()
{
    await GetA("");
    await GetB(1);
    await GetC(1, "");
}

这里如何实现并行?

共有1个答案

庄康胜
2023-03-14

您需要的是并发性(而不是并行性 - 即多线程)。

并发异步代码是通过使用< code>Task完成的。WhenAll:

public async Task CallMultipleAPIs()
{
  var taskA = GetA("");
  var taskB = GetB(1);
  var taskC = GetC(1, "");
  await Task.WhenAll(taskA, taskB, taskC);
}
 类似资料:
  • Spring留档声明,即使要执行同步超文本传输协议调用,我们也必须从RestTemboard切换到。 目前,我有以下代码: 当然,我可以在这里使用CountdownLatch,但它看起来像是API滥用。 如何执行同步请求?

  • 问题内容: 我有一个构建作业和一个测试作业参数。 我想从事构建工作,在并行执行中同时运行一个参数的测试作业和具有不同参数的同一测试作业。 如何做到这一点,以及是否有可能无需编写自己的插件即可执行? 谢谢! 问题答案: 创建测试作业时,将其创建为“构建多配置项目”。在配置作业时,选择“配置矩阵”,然后选择“用户定义的轴” 您可以在作业中将此轴的名称用作参数。给定的参数将在不同的作业中同时启动。(如果

  • 问题内容: 我目前正在尝试使用进行多个请求。 我用谷歌搜索了如何做到这一点,答案是使用。 至此,我得到了: 然后我尝试了一个请求,并且一切正常。 然后,我通过cmd创建了一个信任库,并导入了目标网站的证书,使用我的信任库设置并设置的of : 如果我尝试执行Https,则会出现异常。 如果我做同样的事情,但一切正常。 谁能告诉我如何使它起作用?(不用担心,我不会创建任何ddos工具) 提前致谢! P

  • 问题内容: 我同时运行两个AJAX请求时遇到问题。我有一个PHP脚本正在将数据导出到XSLX。此操作需要很多时间,因此我尝试向用户显示进度。我正在使用AJAX和数据库方法。实际上,我非常确定它曾经可以工作,但是我不知道为什么,它不再在任何浏览器中都能工作。新浏览器有什么变化吗? 在数据库中正确更新进度 JS计时器正在尝试获取进度,我可以在控制台中看到它,但是所有这些请求都加载第一个脚本的整个持续时

  • 问题内容: 我过去曾经做过一些jQuery,但是我完全坚持了这一点。我了解使用同步ajax调用的优缺点,但是在这里将是必需的。 远程页面已加载(由firebug控制),但未显示任何返回信息。 我应该采取什么措施才能使函数正确返回? 问题答案: 在发出同步请求时,应该 范例-http://api.jquery.com/jQuery.ajax/#example-3 请注意: 设置异步属性设置为fals

  • 问题内容: 我有一个提供标准扩展点的JavaScript小部件。其中之一是功能。它应返回以防止创建项目。 我已经使用jQuery在此函数中添加了Ajax调用: 但是我想防止我的小部件创建该项目,因此我应该在母函数中返回,而不是在回调中返回。有没有一种方法可以使用jQuery或任何其他浏览器内API执行同步AJAX请求? 问题答案: 从jQuery文档中:您将异步选项指定为false,以获取同步Aj