async/待って簡単にC
4350 ワード
非同期プログラミングでは、失敗した場合にメソッドを再試行する必要があります.Easy-Retry この機能を簡単に提供できます:)
NuGet インストール
GitHub ソースコード
用途
失敗した場合に再試行する必要があるHTTPタスクがあるとしましょう
NuGet インストール
GitHub ソースコード
NuGet インストール
GitHub ソースコード
.Net CLI
dotnet add package EasyRetry
Package Manager
Install-Package EasyRetry
用途
失敗した場合に再試行する必要があるHTTPタスクがあるとしましょう
private async Task Task_NetworkBound()
{
await new HttpClient().GetStringAsync("https://dotnetfoundation.org");
}
ために5秒後に再試行するには、次のように行う必要があります//With DI
await _easyRetry.Retry(async () => await Task_NetworkBound());
//Without DI
await new EasyRetry().Retry(async () => await Task_NetworkBound());
または、次のようにリトライアルゴリズムの動作をカスタマイズするには、再試行オプションを使用できますawait _easyRetry.Retry(async () => await Task_NetworkBound()
, new RetryOptions()
{
Attempts = 3,
DelayBetweenRetries = TimeSpan.FromSeconds(3),
DelayBeforeFirstTry = TimeSpan.FromSeconds(2),
EnableLogging = true,
DoNotRetryOnTheseExceptionTypes = new List<Type>()
{
typeof(NullReferenceException)
}
});
NuGet インストール
GitHub ソースコード
Reference
この問題について(async/待って簡単にC), 我々は、より多くの情報をここで見つけました https://dev.to/alialp/async-await-easy-retry-in-c-2n86テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol