Ich habe eine Konsole App, wo ich auf einige URL 200 mal zugreifen muss, warten auf alle Anfragen an zurückgeben und an den 200 Ergebnissen arbeiten .Zugriff auf Ergebnisse in Enumerable.Range, ohne auf alle Aufgaben warten zu müssen
Ich habe es so, parallel:
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
eine string[]
zurückkehrt, wenn das Internet aus ist es null
zurück.
Nun, wie Sie nach der Fertigstellung aller Aufgaben sehen können, ich ein wenn den Inhalt zu überprüfen, ob seine null
-> Internet-Themen.
Das Problem hier ist, dass ich warten muss, bis die ganzen 200 Anfragen zurückkommen, bevor ich den Inhalt überprüfen kann.
Ich bin auf der Suche nach einer Möglichkeit, sofort ein Szenario zu erkennen, wo es kein Internet gibt, und ich gebe null zurück, ohne auf die 200 Anfragen warten zu müssen.
Haben Sie das Internet erwarten, dass die Aufgaben fallen * während der Aufgabenausführung? * Oder können Sie überprüfen, für den Internet gerade vor dem Start? –
Stark verwandt: http://Stackoverflow.com/q/27238232 –
Umm, ich denke, es könnte beide Optionen sein. Ich versuche nur, alle Fehler zu erfassen, die passieren können. –