6.51配置 IHttpClientBuilder

创建于 2026 年 8 月 17 日约 1 分钟读完

.AddHttpClient(name, configure) 方法返回一个 IHttpClientBuilder 实例,允许进行进一步的配置,比如设置 HttpMessageHandler

配置默认和特定客户端的示例

cs
// 配置默认客户端services.AddHttpClient(string.Empty, client => {})    .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler    {        // 允许自动重定向        AllowAutoRedirect = true,        // 使用默认凭据        UseDefaultCredentials = true,        // 启用 Cookie        UseCookies = true,    });// 配置名为 "weixin" 的特定客户端services.AddHttpClient("weixin", client => {})    .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler());

统一配置所有 HttpClient 实例

除了单独配置每个客户端,您还可以统一配置所有 HttpClient 实例:

cs
services.ConfigureHttpClientDefaults(clientBuilder =>{    clientBuilder.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler());});// 或使用 IHttpRemoteBuilder 扩展方法进行一键配置services.AddHttpRemote()    .ConfigureHttpClientDefaults(clientBuilder =>    {        clientBuilder.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler());    });

这样的配置方式使代码更加简洁和模块化,便于维护和管理。