如何在 .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);
}
问题陈述
我需要一次发送多个 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);
}