EasyRetry 1.1.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package EasyRetry --version 1.1.1                
NuGet\Install-Package EasyRetry -Version 1.1.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EasyRetry" Version="1.1.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EasyRetry --version 1.1.1                
#r "nuget: EasyRetry, 1.1.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. 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=1.1.1

// Install EasyRetry as a Cake Tool
#tool nuget:?package=EasyRetry&version=1.1.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

await Task_NetworkBound().Retry();

Or you can use the retry options to customize the behaviour of the retry algorithm as follows

await Task_NetworkBound().Retry(new RetryOptions()
    {
        Attempts = 3,
        DelayBetweenRetries = TimeSpan.FromSeconds(3),
        DelayBeforeFirstTry = TimeSpan.FromSeconds(2),
        EnableLogging = true,
        DoNotRetryOnTheseExceptions = new List<Exception>()
        {
            new NullReferenceException()
        }
    }
);
NuGet Installation
GitHub Source Code
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.

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.