在C#中使用Polly庫實現超時保護非常簡單。Polly是一個強大的庫,可用于處理重試、斷路器、超時等策略。
以下是一個示例代碼,演示如何使用Polly庫實現超時保護:
using Polly;
using System;
using System.Net.Http;
class Program
{
static void Main()
{
Policy policy = Policy
.Timeout(5, (context, timespan, task) =>
{
Console.WriteLine("請求超時");
});
HttpClient client = new HttpClient();
// 發起一個帶超時保護的請求
policy.Execute(() =>
{
HttpResponseMessage response = client.GetAsync("http://www.example.com").Result;
response.EnsureSuccessStatusCode();
Console.WriteLine("請求成功");
});
}
}
在上面的示例中,我們創建了一個Policy
對象,并指定了超時時間為5秒。然后,我們使用Execute
方法來執行一個帶有超時保護的HTTP請求。如果請求超時,則會觸發超時策略中的處理邏輯。
通過使用Polly庫,我們可以輕松地實現超時保護,確保我們的應用程序在處理外部服務調用時具有更高的可靠性和穩定性。