您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

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

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

我也强烈建议您阅读使用ASP.NET设计可演化的Web API》中 的HttpClient一章, 了解有关幕后 情况的上下文,尤其是此处引用的“生命周期”部分:

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

甚至开放DotPeek。

其他 2022/1/1 18:16:31 有577人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶