I'm trying to run batch of requests concurrently and collecting the results at end.Here is my code static void Main(string[] args){    MakeRequest(urls);}public void MakeRequest(List<Uri> urls){    List<Task<HttpResponseMessage>> tasks = new List<Task<HttpResponseMessage>>();    foreach ( Uri url in urls ) {        tasks.Add(MakeAsyncRequest(url));    }    HttpResponseMessage[] resA = Task.WhenAll(tasks).GetAwaiter().GetResult();    foreach ( HttpResponseMessage res in resA ) {        string jsonResponse = res.Content.ReadAsStringAsync().Result;    }}private async Task<HttpResponseMessage> MakeAsyncRequest(Uri url){    using ( var client = new HttpClient() ) {        return await client.GetAsync(url);    }}Is there any other better way? Is Parallel.ForEach better option
Multiple HttpClient calls to fetch data faster
c#