【发布时间】:2014-06-04 17:19:39
【问题描述】:
最初我的代码在每个请求的 using 语句中创建了一个新的 HttpClient。然后看了几篇关于重用HttpClient提高性能的文章。
这是一篇此类文章的摘录:
我不建议在 Using 块中创建 HttpClient 来创建 单个请求。当 HttpClient 被处理时,它会导致底层 连接也要关闭。这意味着下一个请求必须 重新打开该连接。您应该尝试重新使用您的 HttpClient 实例。
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?
【问题讨论】:
-
我认为this 可能会回答您的问题。
标签: c# dotnet-httpclient