.net - HttpClient 同时使用是否安全?

标签 .net c#-4.0 concurrency dotnet-httpclient

在我能找到的 HttpClient 用法的所有示例中,它用于一次性调用。但是,如果我有一个持久的客户端情况,可以同时发出多个请求,该怎么办?基本上,针对 HttpClient 的同一实例同时在 2 个线程上调用 client.PostAsync 是否安全。

我并不是真的在这里寻找实验结果。作为一个有效的例子可能只是一个侥幸(并且是一个持久的例子),而一个失败的例子可能是一个配置错误的问题。理想情况下,我正在寻找 HttpClient 中并发处理问题的权威答案。

最佳答案

According to Microsoft Docs ,自 .NET 4.5 起以下实例方法是线程安全的(感谢@ischell):

CancelPendingRequests
DeleteAsync
GetAsync
GetByteArrayAsync
GetStreamAsync
GetStringAsync
PostAsync
PutAsync
SendAsync
PatchAsync

关于.net - HttpClient 同时使用是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11178220/

相关文章:

c# - 使用 BookSleeve 移除 SortedSet

python - Django 和 Sqlite 并发问题

java - 多个 NULL 添加到 Java 中的列表中

.net - 如何使用 .Net 创建 Berkeley 数据库?

c# - C# 在评估/解析表达式时是否有影响?

linq - 为什么方法没有被调用?

c# - 有没有一种方法可以在不提供任何 C# 信息的情况下在网络上找到 Active Directory?

java - 如何为未知数量的线程设置倒计时锁存器

c# - 确定按下的键是 Windows 运行时中的字母数字

c# - 当前上下文中不存在名称 'InitializeComponent'。无法获得任何网络搜索帮助