用途:指导在 .NET 应用中通过 IHttpClientFactory 消费 HTTP API,避免直接 new HttpClient 导致的套接字耗尽与 DNS 缓存过期问题。
主要能力:命名客户端(AddHttpClient 按名称注册,配置 BaseAddress、默认请求头、超时);类型化客户端(将 HTTP 逻辑封装在强类型类中,可配合接口注册 AddHttpClient<ICatalogApiClient, CatalogApiClient>);弹性管道(AddStandardResilienceHandler 提供限流、总超时、重试、熔断、单次超时,可自定义重试次数、延迟、熔断时长;只读 API 可用 AddStandardHedgingHandler 对冲);DelegatingHandler 链处理日志、API Key、Bearer Token、关联 ID 等横切关注点,注册顺序即请求执行顺序,响应反向;配置化 BaseAddress 与 SetHandlerLifetime 调整处理器生命周期(默认 2 分钟)。
使用方式:在 DI 中注册客户端并配置,通过构造函数注入 IHttpClientFactory 或类型化客户端调用;用 MockHttpMessageHandler 对类型化客户端和 DelegatingHandler 做单元测试,集成测试可参考 WebApplicationFactory。
适用场景:需要调用多个外部 API、要求弹性与可观测性、需要统一认证与日志的 .NET 服务。
限制:DI 容器机制与服务生命周期、async/await 与取消令牌传播、弹性管道详细配置(Polly v8)、集成测试框架均不在本技能范围内,分别由其他技能负责。资料未提供收费、价格与平台信息。