首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >同时使用HttpClient安全吗?

同时使用HttpClient安全吗?
EN

Stack Overflow用户
提问于 2012-06-24 22:22:08
回答 3查看 81.5K关注 0票数 177

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-24 22:25:54

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

代码语言:javascript
复制
CancelPendingRequests
DeleteAsync
GetAsync
GetByteArrayAsync
GetStreamAsync
GetStringAsync
PostAsync
PutAsync
SendAsync
PatchAsync
票数 179
EN

Stack Overflow用户

发布于 2012-11-16 07:44:50

这是亨里克·F·尼尔森关于HttpClient的另一篇article,他说:

“默认HttpClient是开始发送请求的最简单方式。可以使用单个HttpClient同时发送任意多个请求,因此在许多情况下,您只需创建一个HttpClient,然后将其用于所有请求。”

票数 102
EN

Stack Overflow用户

发布于 2012-06-25 22:29:42

发现了HenrikF.Nielsen(HttpClient的主要架构师之一)的一个MSDN forum post

快速总结:

  • 如果你有相关的请求(或者不会彼此重复),那么使用相同的HttpClient很有意义。

  • 在一般情况下,我建议尽可能多地重用HttpClient实例。
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11178220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档