溫馨提示×

C# Polly如何實現重試策略

c#
小樊
113
2024-07-13 23:27:23
欄目: 編程語言

在C#中,Polly是一個專門用于處理重試策略的庫,可以通過NuGet包管理器安裝。以下是一個示例代碼,演示如何使用Polly來實現一個簡單的重試策略:

using Polly;
using System;

class Program
{
    static void Main()
    {
        var policy = Policy
            .Handle<Exception>()
            .WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)),
                (exception, timeSpan, retryCount, context) =>
                {
                    Console.WriteLine($"Retry {retryCount} due to {exception}");
                });

        policy.Execute(() =>
        {
            // 調用可能會失敗的方法
            DoSomething();
        });
    }

    static void DoSomething()
    {
        Console.WriteLine("Doing something...");
        // 模擬方法失敗
        throw new Exception("Something went wrong");
    }
}

在上面的示例代碼中,我們首先創建了一個重試策略,使用WaitAndRetry方法指定重試次數和重試間隔。然后,在policy.Execute方法中,我們調用可能會失敗的方法DoSomething(),并使用重試策略來處理可能的異常。

如果DoSomething()方法拋出異常,Polly會根據我們指定的重試策略進行重試,并在每次重試時輸出相應的信息。通過這種方式,我們可以靈活地控制重試策略,提高程序的穩定性和可靠性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女