加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 我应该创建多少个HttpClient?

发布时间:2020-12-15 22:04:29 所属栏目:百科 来源:网络整理
导读:最初我的代码在每个请求的using语句中创建了一个新的HttpClient.然后我读了几篇关于重用HttpClient来提高性能的文章. 以下是一篇此类文章的摘录: I do not recommend creating a HttpClient inside a Using block to make a single request. When HttpClien
最初我的代码在每个请求的using语句中创建了一个新的HttpClient.然后我读了几篇关于重用HttpClient来提高性能的文章.

以下是一篇此类文章的摘录:

I do not recommend creating a HttpClient inside a Using block to make a
single request. When HttpClient is disposed it causes the underlying
connection to be closed also. This means the next request has to
re-open that connection. You should try and re-use your HttpClient
instances.

http://www.bizcoder.com/httpclient-it-lives-and-it-is-glorious

在我看来,如果连续多个请求到达相同的位置 – 例如www.api1.com,那么保持连接打开只会有用.

我的问题是,我应该如何创建HttpClients?

我的网站在后端讨论了大约十种不同的服务.

我应该为他们所有人使用单个HttpClient创建,还是应该在后端使用每个域创建一个单独的HttpClient?

例:
如果我与www.api1.com和www.api2.com交谈,我应该创建2个不同的HttpClient,还是仅创建一个HttpClient?

解决方法

实际上,处置HttpClient不会强制关闭来自连接池的底层TCP / IP连接.您的最佳性能方案是您的建议:

>为您需要连接的每个后端服务或应用程序的生命周期保留一个HttpClient实例.>根据您对后端服务的详细信息,您可能还希望为该后端服务上的每个不同API提供客户端. (同一域中的API可以遍布整个地方.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读