.Net及.Net Core下HttpClient详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net及.Net Core下HttpClient详解相关的知识,希望对你有一定的参考价值。
参考技术A HttpClient 提供的方法:以上用法是不推荐的,HttpClient 这个对象有点特殊,虽然继承了 IDisposable 接口,但它是可以被共享的(或者说可以被复用),且线程安全。从项目经验来看,推荐在整个应用的生命周期内复用 HttpClient 实例,而不是每次RPC请求的时候就实例化一个,在高并发的情况下,会造成Socket资源的耗尽。
我们采用一种预热方式,在正式发post请求之前,先发一个head请求:
经测试,通过这种热身方法,可以将第一次请求的耗时由2s左右降到1s以内(测试结果是700多ms)。
复用 HttpClient 后,依然存在一些问题:
那么有没有办法解决HttpClient的这些个问题?直到 HttpClientFactory 的出现,这些坑 “完美” 规避掉了。
微软官网:在 ASP.NET Core 中使用 IHttpClientFactory 发出 HTTP 请求
以上是关于.Net及.Net Core下HttpClient详解的主要内容,如果未能解决你的问题,请参考以下文章
.NET Core Httpclient 有效,但 .Net Framework 4.7.2 httpclient 无效
.Net Core 3.0后台使用httpclient请求网络网页和图片_使用Core3.0做一个简单的代理服务器
Httpclient在.net core3.1上成功运行,但更新到.net 5中连接超时(System.Net.Sockets.SocketException (10060)) C#