async Task<string> GetDataAsync()
{
int attempt = 0;
async () =>
{
attempt++;
Console.WriteLine($"Attempt {attempt} to get data...");
if(attempt <= 2)
{
throw new System.Net.Http.HttpRequestException("Network error occurred.");
}
return await Task.FromResult("Data successfully retrieved");
},
retryLimit: 3,
retryDelay: TimeSpan.FromSeconds(1),
retryPattern: ex => ex is System.Net.Http.HttpRequestException,
onPreviewRetryWait: (ex, count, delay) => Console.WriteLine($"Retry {count} after {delay.TotalSeconds}s due to: {ex.Message}"),
warningMessage: "Failed to retrieve data after multiple retries.",
token: CancellationToken.None);
}
非同期タスクに関するヘルパーメソッドを提供します。
Definition TaskHelper.cs:14