溫馨提示×

C# Polly教程:如何處理超時

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

Polly是一個專門用于處理故障和超時的.NET庫。在這篇教程中,我將向您展示如何使用Polly來處理超時。

首先,您需要安裝Polly庫。您可以通過NuGet包管理器或通過Visual Studio的NuGet包管理器控制臺來安裝Polly。您可以使用以下命令來安裝Polly:

Install-Package Polly

接下來,我將向您展示一個簡單的示例,演示如何使用Polly處理超時:

using System;
using System.Net.Http;
using Polly;
using Polly.Timeout;

class Program
{
    static void Main()
    {
        var timeoutPolicy = Policy.Timeout(5); // 設置5秒超時

        var httpClient = new HttpClient();
        
        var result = timeoutPolicy.Execute(() =>
        {
            var response = httpClient.GetAsync("http://example.com").Result;
            return response.Content.ReadAsStringAsync().Result;
        });

        Console.WriteLine(result);
    }
}

在上面的示例中,我們首先創(chuàng)建了一個名為timeoutPolicy的超時策略,設置超時時間為5秒。然后我們創(chuàng)建了一個HttpClient實例,發(fā)送一個GET請求到http://example.com,并使用timeoutPolicy來執(zhí)行該請求。如果請求在5秒內沒有完成,Polly將拋出一個TimeoutRejectedException異常。

這就是如何使用Polly處理超時。您可以根據需要調整超時時間和超時策略來滿足您的需求。Polly提供了許多其他功能,例如重試、斷路器等,可以幫助您更好地處理故障和異常。您可以查看Polly的官方文檔以了解更多信息:https://github.com/App-vNext/Polly。

0