Class TaskRetryHelper
Inheritance
System.Object
TaskRetryHelper
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Assembly: Aurigma.DesignAtoms.dll
Syntax
public class TaskRetryHelper
Constructors
TaskRetryHelper()
Declaration
Methods
GetRequestTaskFactory<T>(Func<Task<T>>)
Declaration
public static Func<Task<T>> GetRequestTaskFactory<T>(Func<Task<T>> func)
Parameters
Type |
Name |
Description |
System.Func<System.Threading.Tasks.Task<T>> |
func |
|
Returns
Type |
Description |
System.Func<System.Threading.Tasks.Task<T>> |
|
Type Parameters
RetryOnExceptionAsync<TTask>(Int32, Func<Task<TTask>>, Func<Exception, Boolean>, TimeSpan[], ILogger)
Declaration
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
Type |
Description |
System.Threading.Tasks.Task<TTask> |
|
Type Parameters
RetryOnExceptionAsync<TTask>(Int32, Func<Task<TTask>>, Func<Exception, Nullable<Int32>>, TimeSpan[], ILogger)
Declaration
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
Type |
Description |
System.Threading.Tasks.Task<TTask> |
|
Type Parameters
RetryOnExceptionAsync<TTask, TException>(Int32, Func<Task<TTask>>, Func<TException, Boolean>, Func<TException, Nullable<Int32>>, TimeSpan[], ILogger)
Declaration
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
Type |
Description |
System.Threading.Tasks.Task<TTask> |
|
Type Parameters
Name |
Description |
TTask |
|
TException |
|