当前位置: 首页 > news >正文

山东建设局网站首页网站设计公司简介

山东建设局网站首页,网站设计公司简介,用ps可以做网站吗,芜湖网络公司HttpClient 是 .NET Framework、.NET Core 或 .NET 5以上版本中的一个类#xff0c;用于向 Web API 发送 HTTP 请求并接收响应。它提供了一些简单易用的方法#xff0c;如 GET、POST、PUT 和 DELETE#xff0c;可以很容易地构造和发送 HTTP 请求#xff0c;并处理响应数据。…HttpClient 是 .NET Framework、.NET Core 或 .NET 5以上版本中的一个类用于向 Web API 发送 HTTP 请求并接收响应。它提供了一些简单易用的方法如 GET、POST、PUT 和 DELETE可以很容易地构造和发送 HTTP 请求并处理响应数据。它是我们比较常用的官方HTTP请求组件那么你们都正确使用了吗本文将探讨HttpClient的正确使用。 环境准备 首先我们用vs2022创建一个带默认 WeatherForcast 模板的 Web API 应用程序以及一个普通的API的程序项目使用的是.NET6。 项目结构如下 两个项目的功能点 HttpClientTest - 返回天气预报的Web API HttpClientTest2 -这个项目将用HttpClient来请求HttpClientTest 的天气预备。 接下来我们用4种方法来说明HttpClient的正确使用方法。 方法1 我们首先在HttpClientTest2 创建HttpClientTestController类并写一个请求天气预备的方法代码如下 namespace HttpClientTest2.Controllers {[Route(api/[controller])][ApiController]public class HttpClientTestController : ControllerBase{[HttpGet]public async Taskstring TestHttpClient(){var url  https://localhost:7281/WeatherForecast;#region 版本1var httpClient  new HttpClient();var response  await httpClient.GetAsync(url);return await response.Content.ReadAsStringAsync();#endregion}}}    代码写完后我们设置多项目启动让这两个项目同时启动。 项目启动后执行项目HttpClientTest2 的TestHttpClient请求接口。多执行几次。主要看看HttpClient后台的执行情况。这里可以用netstat来检查http的请求情况。 打开一个CMD控制台程序。输入如下代码 netstat -na | find 72817281端口是我们请求站点HttpClientTest。多次点击的效果如下 由上面可以看出有多个请求说明请求未关闭。接下来换第二种方法。 方法2 使用using命令来实现请求结束关闭请求代码如下 #region 版本2using (var httpClient new HttpClient()){var response await httpClient.GetAsync(url);return await response.Content.ReadAsStringAsync();}#endregion 同样我们多次请求结果如下 在这里可以看到状态“TIME_WAIT”说明链接已经关闭但实际情况链接还是占用着端口在资源耗尽才会释放。这就是套连接的问题套接字耗尽是指服务器上的可用套接字资源已经全部被占用无法为新的连接提供服务。在 TCP/IP 网络通信中每个端口上最多只能建立一个连接这就限制了服务器可以处理的连接数。当服务器负载过高时就可能导致套接字资源紧张进而引发套接字耗尽问题。针对上面问题继续对HttpClient 改进。 方法3 这里我们使用单例模式试一试。代码如下 public class HttpClientTestController : ControllerBase{private static HttpClient _httpClient;static HttpClientTestController(){_httpClient  new HttpClient();}//注意有许多方法可以实现单例模式。在这里使用了静态实例方法。[HttpGet]public async Taskstring TestHttpClient(){var url  https://localhost:7281/WeatherForecast;#region 版本3//var response await _httpClient.GetAsync(url);//return await response.Content.ReadAsStringAsync();#endregion}}代码编写完成后我们再试一试结果如下 因为使用了单例模式没有创建新实例使用了相同的连接。这种方法解决了套接字耗尽问题。但是我们注意到有一个状态为“已建立”的开放连接。如果有DNS更改或与网络相关的更改可能会影响连接应用程序可能会失败需要重新启动应用程序才能解决。这个方法也不是最理想的。 方法4 HttpClient是.NET内置方法这里可以通过使用 IHttpClientFactory 接口来实现从而避免上面的问题。代码如下 public class HttpClientTestController : ControllerBase{private readonly IHttpClientFactory _httpClientFactory;public HttpClientTestController(IHttpClientFactory httpClientFactory){_httpClientFactory httpClientFactory;}[HttpGet]public async Taskstring TestHttpClient(){var url  https://localhost:7281/WeatherForecast;#region 版本4var httpClient _httpClientFactory.CreateClient();var response await httpClient.GetAsync(url);return await response.Content.ReadAsStringAsync();#endregion} 使用IHttpClientFactory 的话需要在Program.cs 中注入代码如下 builder.Services.AddHttpClient();同样多次请求然后执行netstat命令。效果如下 从请求的状态来看通过使用 _httpClientFactory.CreateClient 完美解决问题。 总结 本文用四种方法渐进讲述了HttpClient的使用方法以及在使用过程中的问题最终用IHttpClientFactory解决了出现的问题。希望本文对你有所收获欢迎留言或者吐槽。
http://www.dnsts.com.cn/news/76676.html

相关文章:

  • 昆明企业网站制作邢台招聘信息网
  • 网站什么语言好免费的成品网站
  • 浩博建设集团网站上海有名的广告公司
  • 建一个电影网站多大 数据库网站404页面下载
  • 网站开发 只要山东省建设厅网站电话查询
  • 网站设计规划报告wordpress 侧边栏插件
  • 个人类网站类网站建设网站的功能定位是什么意思
  • 路桥做网站的公司有哪些wordpress的主机要求
  • 做短链的网站网页制作的基本步骤有哪些
  • 企业网站建设需要考虑内容苏州企业网站建设网络服务
  • 搭建网站哪个好局域网建设直播网站
  • 丽水市建设监理协会网站在哪里建设企业网站的原因
  • icp备案网站快速备案专家域名备案网站购买
  • .net做网站安全吗搭建平台网站有什么用
  • 安康网站开发公司价格上海做网站的公司多少钱
  • 无法打开建行网站网易163企业邮箱官网
  • 广州找工作哪个网站好网站做跳转链接的好处
  • 南昌哪里可以做企业网站做网站推广有前景吗
  • 网站建设中的数据库规划邢台企业手机网站建设
  • 网站模板小偷wordpress如何跳转页面代码
  • 食品建设网站的目的xampp wordpress 建站教程
  • 南宁世尊商贸网站建设用ps切片做网站能不能完成
  • 足彩网站怎样做推广爱网聊的人
  • 个人网站想添加支付功能怎么做网站怎么免费做推广
  • 网站开发用C网站上面图片上传尺寸
  • 网站建设关于公司怎么写百度收录查询
  • qq空间刷赞网站推广上海网站设计优刻
  • 什么是网站的入口制作ppt的软件手机
  • 网站优化专家中学生做的安全作业网站
  • 承接网站建设广告语东莞 企业网站建设