EasyRetry 2.0.1
dotnet add package EasyRetry --version 2.0.1
NuGet\Install-Package EasyRetry -Version 2.0.1
<PackageReference Include="EasyRetry" Version="2.0.1" />
paket add EasyRetry --version 2.0.1
#r "nuget: EasyRetry, 2.0.1"
// Install EasyRetry as a Cake Addin #addin nuget:?package=EasyRetry&version=2.0.1 // Install EasyRetry as a Cake Tool #tool nuget:?package=EasyRetry&version=2.0.1
Async/Await easy retry in c#
In Asynchronous programming in some cases we need to retry a method if it fails. Easy-Retry can provide this functionality with ease 😃
NuGet Installation
GitHub Source Code
.Net CLI
dotnet add package EasyRetry
Package Manager
Install-Package EasyRetry
Usage
Let's say there is a HTTP Task which you need to retry in case it fails
private async Task Task_NetworkBound()
{
await new HttpClient().GetStringAsync("https://dotnetfoundation.org");
}
In order to retry it after 5 seconds you just need to do as follows
//With DI
await _easyRetry.Retry(async () => await Task_NetworkBound());
//Without DI
await new EasyRetry().Retry(async () => await Task_NetworkBound());
Or you can use the retry options to customize the behavior of the retry algorithm as follows
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 Installation
GitHub Source Code
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Microsoft.Extensions.Logging.Abstractions (>= 3.1.7)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on EasyRetry:
Package | Downloads |
---|---|
AgentHub.Shared.TSCommonUtils
Package Description |
|
EasyPipeLine
An easy implementation of chain of responsibility with builder pattern which will give a ready to use pipeline foundation |
|
PipeNet
Simplify your complex flow into a well organize pipeline |
GitHub repositories
This package is not used by any popular GitHub repositories.