到目前为止,我们一直在使用字符串创建请求体,并读取响应的内容.但是我们可以通过使用流提高性能和优化内存.因此,在本文中,我们将学习如何在请求和响应中使用HttpClient流. 什么是流 流是以文件.输入/输出设备或网络流量的形式表示一个字节序列的抽象.C#中的Stream类是一个抽象类,它可以从源文件读取或写入字节.这使我们可以跳过可能增加内存使用量或降低性能的中间变量. 这里需要知道的重要一点是,在客户端处理流与API级别无关.这是一个完全独立的过程. 我们的API可能适用于流,也可能不适用…
在本文中,我们将学习如何在ASP.NET Core中集成和使用HttpClient.在学习不同HttpClient功能的同时使用Web API的资源.如何从Web API获取数据,以及如何直接使用HttpRequestMessage类来实现这些功能.在以后的文章中,我们将学习如何发送POST.PUT和DELETE请求,以及如何使用HttpClient发送PATCH请求. 要下载源代码,可以访问https://github.com/CodeMazeBlog/httpclient-aspnetcor…
在上一篇文章中,我们已经学习了如何在ASP.NET Core中使用HttpClient从Web API获取数据.此外,我们还学习了如何使用GetAsync方法和HttpRequestMessage类发送GET请求.在本文中,我们将学习如何在ASP.NET Core中使用HttpClient发送POST.PUT和DELETE请求,并使用PostAsync.PutAsync.DeleteAsync和HttpRequestMessage类创建请求. 在ASP.NET Core中使用HttpClient…
在前面的两篇文章中,我们讨论了很多关于使用HttpClient进行CRUD操作的基础知识.如果你已经读过它们,你就知道如何使用HttpClient从API中获取数据,并使用HttpClient发送POST.PUT和DELETE请求.当我们使用PUT请求时,用它来更新我们的资源.但我们可以通过使用HTTP PATCH请求进行部分更新来改进这一点.因此,在本文中,我们将展示如何使用HttpClient发送HTTP PATCH请求来实现资源的部分更新,从而提高应用程序的性能. 要下载源码,可以访问ht…
​用户向服务器发送HTTP请求应用程序页面是一种非常可能的情况.当我们的应用程序处理请求时,用户可以从该页面离开.在这种情况下,我们希望取消HTTP请求,因为响应对该用户不再重要.当然,这只是实际应用程序中可能发生的许多情况中的一种,我们希望取消请求.因在本文中,将学习如何使用CancellationToken取消客户端中的HTTP请求. 使用CancellationToken取消使用HttpClient发送的请求 在介绍中,我们指出,如果用户从页面离开,他们就不再需要响应,因此取消该请求是一个…
​到目前为止,我们一直直接使用HttpClient.在每个服务中,我们都创建了一个HttpClient实例和所有必需的配置.这会导致了重复代码.在这篇文章中,我们将学习如何通过使用HttpClientFactory来改善它.当然,这并不是使用HttpClientFactory的唯一优势.我们将学习HttpClientFactory如何防止HttpClient可能导致的其他问题.此外,我们将展示如何使用HttpClientFactory创建命名和类型化客户端. HttpClient问题 HttpC…
引用 Newtonsoft.Json // Post请求 public string PostResponse(string url,string postData,out string statusCode) { string result = string.Empty; //设置Http的正文 HttpContent httpContent = new StringContent(postData); //设置Http的内容标头 httpContent.Headers.ContentType…
前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内容. 没看过上篇的,请移步:ASP.NET Core之跨平台的实时性能监控 首先我们来了解一下什么是健康检查(health checks)? 1.什么是健康检查? 健康检查,其实这个名称已经很明确了,它是检查你的应用程序是否健康运行的一种方式.随着当前各类项目越来越多的应用程序正在转向微服务式架构,健康检查就变得尤为关键.虽然微服务体系结构具有许多好处,但其中一个缺…
前言 前面我们聊了一下一个应用程序 应该监控的8个关键位置. . 嗯..地址如下: 应用程序的8个关键性能指标以及测量方法 最后卖了个小关子,是关于如何监控ASP.NET Core的. 今天我们就来讲讲如何监控它,下面上效果图: 阅读本文需要了解的相关技术与内容: InfluxDb(分布式时序数据库,开源)(注:分布式部分已商业化最新的分布式版本已不在开源,单例的继续开源) Grafana(开源的,功能齐全的度量仪表盘和图形编辑器) App Metrics(主角,开源的支持.NET Core的监…
一.介绍 Asp.Net Core Filter 使得可以在请求处理管道的特定阶段的前后执行代码,我们可以创建自定义的 filter 用于处理横切关注点. 横切关注点的示例包括错误处理.缓存.配置.授权和日志记录. filter 使得可以避免重复代码. Asp.Net Core 提供了5中过滤器类型,分别是: 1.Authorization filters,授权过滤器是最先执行并且决定请求用户是否经过授权认证,如果请求未获授权,授权过滤器可以让管道短路. 2.Resource filters,资…