普遍的共识是您不需要(不应)处置HttpClient。
许多与它的工作方式密切相关的人都说过这一点。
请参阅Darrel Miller的博客文章和相关的SO文章:HttpClient爬网导致内存泄漏,以供参考。
我也强烈建议您阅读《 使用ASP.NET设计可演化的Web
API》中
的HttpClient一章,
以
了解有关
幕后
情况的上下文,尤其是此处引用的“生命周期”部分:
尽管HttpClient确实间接实现了IDisposable接口,但是HttpClient的标准用法是在每次请求后都不要处理它。只要您的应用程序需要发出HTTP请求,HttpClient对象就可以存在。在多个请求中都存在一个对象,这为设置DefaultRequestHeaders提供了空间,并且使您不必在HttpWebRequest所必需的每个请求上重新指定诸如CredentialCache和cookieContainer之类的东西。
甚至开放DotPeek。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)