c# - HttpClient 异步安全吗?

标签 c# dotnet-httpclient

我突然对此产生了一些疑问。根据 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 实例都使用自己的连接池”

HttpClient Class

关于c# - HttpClient 异步安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59843010/

相关文章:

asp.net - 如何在我的 .NET Framework 4.5 应用程序/站点中使用 HttpClient?

c# - 数组语义初始值设定项如何在 C# 中工作?

c# - .NET WebBrowser 控件中的阻止对话框

c# - Unity3d 中多个场景切换时播放连续音乐

c# - 需要澄清类关系的一些概念。编程新手

.net-core - 使用 .NET 4.6.2 中的 HttpClientFactory

c# - Azure 计算模拟器中的内部端口冲突

c# - HttpClient.SendAsync 使用线程池而不是异步 IO?

c# - Polly 使用不同的请求主体重试请求

c# - 为什么C#的HttpClient调用不了这个URL(总是超时)?