我有一個控制檯應用程序,我需要訪問一些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請求返回,然後才能檢查內容。
我正在尋找一種方法來立即檢測沒有互聯網的場景,並且我無需等待200個請求就返回null。
的WhenAll方法你期望互聯網在任務執行過程中摔倒*?*或者你可以在開始任務之前,爲了檢查互聯網? –
強烈的相關:http://stackoverflow.com/q/27238232 –
嗯,我想這可能是兩個選項。我只是想抓住所有可能發生的錯誤 –