2015-05-16 4 views
0

Я пытаюсь очистить это, поэтому эксперты могут помочь мне двигаться вперед.Несколько запросов API REST с использованием PLinq

как «svik» предлагается ниже, после выполнения всех задач у меня есть HTTPResponseMessage[].

Как узнать, какой ответ был для какого запроса?

var tasks = File.ReadLines(filepath).Select(url => client.GetAsync(url)); 
var results = await Task.WhenAll(tasks); 

ответ

1

PLINQ не работает с асинхронными операциями. Но вы на самом деле не нужно PLINQ здесь:

var tasks = File.ReadLines(filepath).Select(url => client.GetAsync(url)); 
var results = await Task.WhenAll(tasks); 

Это начать все задачи последовательно, но затем они продолжают работать параллельно.

+0

Спасибо, где я обрабатываю ответ, ответ - это JSON, содержащий информацию о местоположении (URL) документов. Мне нужно затем выполнить вызов GET REST на каждом URL-адресе и сохранить документы в папке – billboard

+0

Также, когда задачи завершены, как я связал «Ответы» с соответствующей папкой? Я просто получаю свалку всех ответов. Теперь нет способа определить, какой ответ относится к запросу/папке. – billboard

+0

@billboard Вы можете посмотреть запрос 'RequestMessage.RequestUri' ответа, чтобы получить исходный url. –

Смежные вопросы