Неверно использовать asyc для ожидания в цикле foreach? Я получаю WebException, запрос был отменен.Использование asyn ждет в цикле foreach
Ниже приводится только схема кода, над которым я работаю. Пожалуйста, дайте мне знать, если это не ясно.
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://xxx.xxx.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
try
{
var response = await client.PostAsJsonAsync("customers/xxxx/xxx/documents", requestMessage);
response.EnsureSuccessStatusCode();
var returnValue = response.Content.ReadAsAsync<ResponseMessage>();
var hasDocuments = returnValue.Result.SearchResults.Any();
if (hasDocuments)
{
// HTTP GET
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
returnValue.Result.SearchResults.ForEach(async d =>
{
response = await client.GetAsync(d.Self + ".pdf");
});
}
}
catch (Exception ex)
{
throw;
}
}