【发布时间】:2018-07-05 00:13:28
【问题描述】:
我正在做一个非常简单的项目,我正在尝试构建一个任务列表, 准确地说是 HttpPost 任务列表。
我有以下发布数据的方法:
public Task<HttpResponseMessage> PutAsyncJson<T>(string uri, T o)
{
return this.PutAsync<T>(uri, o, new JsonMediaTypeFormatter() { SerializerSettings = JsonSettings });
}
其中 PutAsync 是 .NET HttpClient 的基本方法
现在我只是将任务放在一个列表中,因此我使用以下代码:
List<Task<HttpResponseMessage>> tasks = new List<Task<HttpResponseMessage>>();
List.Add(PutAsyncJson("url", obj1));
List.Add(PutAsyncJson("url", obj2));
在所有任务都添加到列表后,我希望它们以串行方式执行。 我现在的问题是当我将它们添加到列表时任务已经执行。 为什么他们已经在那里被处决了?
【问题讨论】:
标签: c# list asynchronous task