我在這看到了一些帖子......但大多數人都是手動創建任務,而不是從API接收它。在for循環中啓動任務,然後在所有人上執行waitall
我有這樣的代碼
Task[] tasks = new Task[companyCount];
// start all threads
for(int i = 0; i < companyCount; i++) {
string input = GetNextCompanyRecord(i);
string token = GetUserToken();
HttpClient client = GetHttpClient();
StringContent content = CreateStringContent(input);
var x = client.PostAsync(companyUrlString, content).ConfigureAwait(continueOnCapturedContext: false);
tasks[i] = x;
}
Task.WaitAll(tasks);
的目標是,我開始爲每個記錄任務在for循環中,然後當所有任務都開始......做一個爲WaitAll。我不能將x變量賦給任務數組。
PostAsync方法未返回任務。而是返回ConfiguredTaskAwaitable。但我的希望是我會得到任務,我將能夠將其添加到我的陣列,然後做一個waitall。
刪除不必要的'.ConfigureAwait(continueOnCapturedContext:false)',你是金。 –