是否必须在请求之间放置HttpClient和HttpClientHandler?

是否必须在请求之间放置HttpClient和HttpClientHandler?,第1张

是否必须在请求之间放置HttpClient和HttpClientHandler?

普遍的共识是您不需要(不应)处置HttpClient。

许多与它的工作方式密切相关的人都说过这一点。

请参阅Darrel Miller的博客文章和相关的SO文章:HttpClient爬网导致内存泄漏,以供参考。

我也强烈建议您阅读《 使用ASP.NET设计可演化的Web
API》中

的HttpClient一章,

了解有关
幕后
情况的上下文,尤其是此处引用的“生命周期”部分:

尽管HttpClient确实间接实现了IDisposable接口,但是HttpClient的标准用法是在每次请求后都不要处理它。只要您的应用程序需要发出HTTP请求,HttpClient对象就可以存在。在多个请求中都存在一个对象,这为设置DefaultRequestHeaders提供了空间,并且使您不必在HttpWebRequest所必需的每个请求上重新指定诸如CredentialCache和cookieContainer之类的东西。

甚至开放DotPeek。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5559888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存