Bootstrap

.net core中间件Polly

Polly 是一个 .NET 库,用于处理应用程序的弹性和容错,尤其是在与外部服务交互时。

它提供了各种策略(如重试、断路器、超时、降级等),帮助我们处理请求失败的情况,以提高应用程序的可靠性。

一、使用 Polly 的基本步骤:

1、安装 Polly: 通过 NuGet 包管理器安装 Polly 和相关的扩展。可以在项目中运行以下命令:

dotnet add package Polly
dotnet add package Microsoft.Extensions.Http.Polly

2、配置 HttpClient: 在 Startup.cs 的 ConfigureServices 方法中配置 HttpClient,并使用 Polly 策略。

public void ConfigureServices(IServiceCollection services)
{
    services.AddHttpClient("MyHttpClient")
        .AddPolicyHandler(Policy
            .Handle<HttpRequestException>()
            .RetryAsync(3)); // 重试策略,最多重试3次
}

3、使用 HttpClient: 在我们的服务或控制器中,注入并使用配置好的 HttpClient。

public class MyService
{
    private readonly HttpClient _httpClient;

    public MyService(IHttpClientFactory httpClientFactory)
    {
        _httpClient = httpClientFactory.CreateClient("MyHttpClient");
    }

    public async Task<string> GetDataAsync(string url)
    {
        var response = await _httpClient.GetAsync(url);
        response.EnsureSuccessStatusCode();
        ret
;