3.15HttpClient 名称与缓存

系统默认使用 IHttpClientFactory 创建 HttpClient 实例,并将默认客户端名称设为空字符串(string.Empty)。您可以通过指定方式设置创建 HttpClient 实例时的客户端名称。

设置 HttpClient 实例的名称(多个基地址)#

系统默认使用 IHttpClientFactory 创建 HttpClient 实例,并将默认客户端名称设为空字符串(string.Empty)。您可以通过指定方式设置创建 HttpClient 实例时的客户端名称。

cs
HttpRequestBuilder.Get("https://furion.net/")    .SetHttpClientName(string.Empty); // 使用默认客户端(通常无需显式设置)HttpRequestBuilder.Get("https://furion.net/")    .SetHttpClientName("weixin"); // 指定为名为 "weixin" 的客户端

您还可以在 Startup.csProgram.cs 文件中为命名 HttpClient 客户端提供配置:

cs
// 配置默认客户端(名称为空字符串)services.AddHttpClient(string.Empty, client => { });// 配置名为 "weixin" 的客户端services.AddHttpClient("weixin", client => { });

设置响应内容的最大缓存大小#

为单次请求配置响应内容的最大缓存字节数。

cs
HttpRequestBuilder.Get("https://furion.net/")    .SetMaxResponseContentBufferSize(10 * 1024);    // 设置为 10KB

如果响应内容的 Content-Length 超过了配置的 MaxResponseContentBufferSize 限制(例如,限制为 10240 字节),则会引发 HttpRequestException 异常。该异常的消息内容为:Cannot write more bytes to the buffer than the configured maximum buffer size: '10240'.