EasyRetry 2.0.1

Easily retry your asynchronous operation

Install-Package EasyRetry -Version 2.0.1
dotnet add package EasyRetry --version 2.0.1
<PackageReference Include="EasyRetry" Version="2.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EasyRetry --version 2.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EasyRetry, 2.0.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// 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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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

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

NuGet packages (2)

Showing the top 2 NuGet packages that depend on EasyRetry:

Package Downloads
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.

Version History

Version Downloads Last updated
2.0.1 1,111 12/10/2020
2.0.0 293 9/1/2020
1.1.1 249 8/24/2020
1.1.0 377 8/23/2020
1.0.1 327 8/23/2020
1.0.0 322 8/23/2020