我突然对此产生了一些疑问。根据 MSDN,HttpClient 是线程安全的(至少对于 GetAsync 或 PostAsync)。
但是如果我这样做
List<Task> tasks= new List<Task>();
tasks.Add(_httpClient.PostAsync(url1, requestMessage1));
tasks.Add(_httpClient.PostAsync(url2, requestMessage2));
Tasks.Wait(tasks);
由于现在两个调用都来自同一个线程,我会始终得到正确的结果吗?
最佳答案
Will I get correct results back all the time as both calls come from the same thread now?
是的。这就是 HttpClient 的缩进用法。
“HttpClient 实例是应用于该实例执行的所有请求的设置的集合。此外,每个 HttpClient 实例都使用自己的连接池”
关于c# - HttpClient 异步安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59843010/