You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在重试请求时调用X-HttpMessageHandlers?

需求与实现:重试请求时执行X-HttpMessageHandlers

核心需求

我希望在重试请求时执行X-HttpMessageHandlers。

现有实现配置

已添加HttpClient,其请求由LoggingHandler和Polly重试策略处理,配置代码如下:

using Microsoft.Extensions.Http.Polly;
builder.Services.AddHttpClient()
    .AddHttpMessageHandler<LoggingHandler>()
    .AddPolicyHandler(GetRetryPolicy());

重试策略示例

以下是简化后的重试策略实现:

public static IAsyncPolicy<HttpResponseMessage> GetRetryPolicy()
{
    // HandleTransientHttpError:处理HttpRequestException、
    // Http状态码≥500(服务器错误)
    // 以及状态码408(请求超时)

    return HttpPolicyExtensions
        .HandleTransientHttpError()
        .RetryAsync(3); // 最多重试请求3次
}

测试方式

可以向返回503状态码的测试地址发送请求,该地址会返回502网关错误(属于服务器错误范畴),会触发上述重试策略。

参考资料

  • Polly官方扩展文档
  • HttpBin测试服务

内容的提问来源于stack exchange,提问作者GråSkärm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:27:03