У меня есть консольное приложение, где мне нужно получить доступ к некоторому URL-адресу 200 раз, ждут всех запросов для возврата и работают над результатами 200 ,Доступ к результатам в Enumerable.Range, не дожидаясь завершения всех задач.
Я сделал это так, параллельно:
var classNameTasks = Enumerable.Range(1, 200).Select(i => webApi.getSplittedClassName()).ToArray();
string[][] splittedClassNames = await Task.WhenAll(classNameTasks);
if (splittedClassNames[0] == null)
result = new TextResult("Error accessing the web");
getSplittedClassName
возвращает string[]
, если интернет отключен он вернется null
.
Теперь, как вы можете видеть, после завершения всех задач, я делаю если для проверки содержимого, если его null
- проблемы> Интернета.
Проблема заключается в том, что мне нужно дождаться возвращения всего 200 запросов, прежде чем я смогу проверить содержимое.
Я ищу способ сразу найти сценарий, в котором нет Интернета, и я возвращаю null, не дожидаясь 200 запросов.
Ожидаете ли вы интернет падать вниз * во время выполнения задачи? * Или вы можете проверить на интернет непосредственно перед запуском задачи? –
Сильно связано: http://stackoverflow.com/q/27238232 –
Умм, я думаю, это могут быть оба варианта. Я просто пытаюсь поймать все ошибки, которые могут произойти. –