</>
Plan du cours — 35/46

Polly — résilience (retry, circuit breaker, timeout)

Intermédiaire

Polly ajoute de la tolérance aux pannes pour les appels réseau instables (API externes, bases de données).

dotnet add package Microsoft.Extensions.Http.Resilience
// Intégré à HttpClientFactory : retries + circuit breaker + timeout en une ligne
builder.Services.AddHttpClient<MonApiClient>()
    .AddStandardResilienceHandler();
// Usage manuel de Polly pour un scénario personnalisé
var pipeline = new ResiliencePipelineBuilder()
    .AddRetry(new RetryStrategyOptions
    {
        MaxRetryAttempts = 3,
        Delay = TimeSpan.FromSeconds(1),
        BackoffType = DelayBackoffType.Exponential,
    })
    .Build();

await pipeline.ExecuteAsync(async ct =>
{
    await httpClient.GetAsync("https://api.externe.com/data", ct);
});