.net core HttpClient 使用之掉坑解析(一)
.net core HttpClient 使用之掉坑解析(一) 一、前言 在我们开发当中经常需要向特定URL地址发送Http请求操作,在.net core 中对httpClient使用不当会造成灾难性的问题,这篇文章主要来分享.net core中通过IHttpClientFactory 工厂来使用HttpClient的正确打开方式。 二、HttpClient使用中的那些坑 2.1 错误使用 using(var client = new HttpClient()) 我们可以先来做一个简单的测试,代码如下: public async Task GetBaiduListAsync(string url) { var html = ""; for (var i = 0; i < 10; i++) { using (var client = new System.Net.Http.HttpClient()) { var result=await client.GetStringAsync(url); html += result; } } return html; } 运行项目输出结果后,通过netstate查看下TCP连接情况: 虽然项目已经运行结束,但是连接依然存在,状态为" TIME_WAIT"(继续等待看是否还有延迟的包会传输过来;默认在windows下,TIME