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

How to execute different REST API requests in parallel in C# on .NET Core?

问题陈述

我需要一次发送多个 API 呼叫。

我有三个不同的 API 端点,如下所示,所有这些都需要尽可能快地一起调用。都是相互独立的

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, "");
}

这里如何实现并行?

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

并发异步代码使用Task.WhenAll:

完成
public async Task CallMultipleAPIs()
{
  var taskA = GetA("");
  var taskB = GetB(1);
  var taskC = GetC(1, "");
  await Task.WhenAll(taskA, taskB, taskC);
}