6.64与 DelegatingHandler 的协作关系
创建于 2026 年 8 月 17 日约 1 分钟读完
当你通过 services.AddHttpClient() 创建 HttpClient 时,.NET 默认会为你提供一个 HttpClientHandler 作为管道的“终点”。所有通过 .AddHttpMessageHandler<T>() 添加的 DelegatingHandler 实例,都会被包装在 HttpClientHandler 之外,形成如下调用链:
CustomHandler3 → CustomHandler2 → CustomHandler1 → HttpClientHandler → 网络也就是说:
- 请求从最外层的
DelegatingHandler开始,逐层向内传递; - 响应则从
HttpClientHandler返回后,逐层向外回传; HttpClientHandler是唯一真正发出网络请求的组件。