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