Асинхронная отправка GET запросов
Покажите, пожалуйста, пример асинхронной отправки большого количества GET запросов. Например, есть список List, в котором содержится 10 url адресов.
static async Task Main(string[] args)
{
int count = 0;
long start, end;
int i = 0;
List<string> pairs = new List<string>() { "ADABTC", "ADXBTC", "ARPABTC", "ASTBTC", "BLZBTC", "BQXBTC", "DLTBTC" };
System.Diagnostics.Stopwatch sw = new Stopwatch();
sw.Start();
start = sw.ElapsedMilliseconds;
while (true)
{
using var client = new HttpClient();
var tasks = pairs.Select(pair => client.GetAsync(BinanceApi._depth_string_request(pair)));
var qw = await Task.WhenAll(tasks);
Console.WriteLine(qw.Length);
foreach (var c in qw)
{
foreach (var b in BinanceApi.depth_JSON_parse(c.Content.ReadAsStringAsync().Result.ToString(), 100))
{
Console.WriteLine(b.Key + " " + b.Value);
}
//Console.WriteLine(BinanceApi.depth_JSON_parse(c.Content.ReadAsStringAsync().Result.ToString(),100));
}
count = count + qw.Length;
end = sw.ElapsedMilliseconds - start;
if (end >= 60000)
{ count = 0;
end = 0;
sw.Start();
start = sw.ElapsedMilliseconds;
}
Console.WriteLine(end + " " + count);
Thread.Sleep(1000);
}
}