Class TaskRetryHelper
Namespace: Aurigma.DesignAtoms.Common
Assembly: Aurigma.DesignAtoms.dll
Syntax
public class TaskRetryHelper
Inheritance: System.Object -> TaskRetryHelper
Inherited Members
System.Object.ToStringSystem.Object.Equals(System.Object)System.Object.Equals(System.Object,System.Object)System.Object.ReferenceEquals(System.Object,System.Object)System.Object.GetHashCodeSystem.Object.GetTypeSystem.Object.MemberwiseClone
Constructors
TaskRetryHelper
public TaskRetryHelper()
Methods
RetryOnExceptionAsync<TTask>
public static Task<TTask> RetryOnExceptionAsync<TTask>(int retryCount, Func<Task<TTask>> operation, Func<Exception, bool> exceptionChecker = null, TimeSpan[] delays = null, ILogger logger = null)
Parameters
| Type | Name | Description |
|---|---|---|
System.Int32 | retryCount | |
System.Func<System.Threading.Tasks.Task<<TTask>>> | operation | |
System.Func<System.Exception,System.Boolean> | exceptionChecker | |
System.TimeSpan[] | delays | |
NLog.ILogger | logger |
Returns
System.Threading.Tasks.Task<<TTask>>
RetryOnExceptionAsync<TTask>
public static Task<TTask> RetryOnExceptionAsync<TTask>(int retryCount, Func<Task<TTask>> operation, Func<Exception, int?> getStatusCodeFunc = null, TimeSpan[] delays = null, ILogger logger = null)
Parameters
| Type | Name | Description |
|---|---|---|
System.Int32 | retryCount | |
System.Func<System.Threading.Tasks.Task<<TTask>>> | operation | |
System.Func<System.Exception,System.Nullable<System.Int32>> | getStatusCodeFunc | |
System.TimeSpan[] | delays | |
NLog.ILogger | logger |
Returns
System.Threading.Tasks.Task<<TTask>>
RetryOnExceptionAsync<TTask, TException>
public static Task<TTask> RetryOnExceptionAsync<TTask, TException>(int retryCount, Func<Task<TTask>> operation, Func<TException, bool> exceptionChecker = null, Func<TException, int?> getStatusCodeFunc = null, TimeSpan[] delays = null, ILogger logger = null)
where TException : Exception
Parameters
| Type | Name | Description |
|---|---|---|
System.Int32 | retryCount | |
System.Func<System.Threading.Tasks.Task<<TTask>>> | operation | |
System.Func<<TException>,System.Boolean> | exceptionChecker | |
System.Func<<TException>,System.Nullable<System.Int32>> | getStatusCodeFunc | |
System.TimeSpan[] | delays | |
NLog.ILogger | logger |
Returns
System.Threading.Tasks.Task<<TTask>>
GetRequestTaskFactory<T>
public static Func<Task<T>> GetRequestTaskFactory<T>(Func<Task<T>> func)
Parameters
| Type | Name | Description |
|---|---|---|
System.Func<System.Threading.Tasks.Task<<T>>> | func |
Returns
System.Func<System.Threading.Tasks.Task<<T>>>