/// <inheritdoc /> /// <summary> /// Create with error handler strategy, retry strategy, 20ms delay and general aspect. /// </summary> /// <param name="errorHandlerStrategy"></param> /// <param name="retryStrategy"></param> /// <param name="generalAspect"></param> protected WithSagaAsync( IErrorHandlerStrategyAsync errorHandlerStrategy, IRetryStrategy retryStrategy, IGeneralAspect generalAspect) : this(errorHandlerStrategy, TimeSpan.FromMilliseconds(Constant.DefaultDelay), retryStrategy, generalAspect, null, null, null) { }
/// <inheritdoc /> /// <summary> /// Create with error handler strategy, asynchronous general aspect and asynchronous before aspect. /// </summary> /// <param name="errorHandlerStrategy"></param> /// <param name="generalAspectAsync"></param> /// <param name="beforeAsync"></param> protected WithAspectAndErrorHandlerAsync( IErrorHandlerStrategyAsync errorHandlerStrategy, IGeneralAspectAsync generalAspectAsync, IReadOnlyList <IBeforeAspectAsync <TInput, TOutput> > beforeAsync) : this(errorHandlerStrategy, null, generalAspectAsync, beforeAsync) { }
/// <inheritdoc /> /// <summary> /// Create with error handler strategy, general aspect and asynchronous general aspect. /// </summary> /// <param name="errorHandlerStrategy"></param> /// <param name="generalAspect"></param> /// <param name="generalAspectAsync"></param> protected WithAspectAndErrorHandlerAsync( IErrorHandlerStrategyAsync errorHandlerStrategy, IGeneralAspect generalAspect, IGeneralAspectAsync generalAspectAsync) : this(errorHandlerStrategy, generalAspect, generalAspectAsync, null, null) { }
/// <inheritdoc /> /// <summary> /// Create with error handler strategy, retry strategy, 20ms delay, asynchronous general aspect and asynchronous before aspect. /// </summary> /// <param name="errorHandlerStrategy"></param> /// <param name="retryStrategy"></param> /// <param name="generalAspectAsync"></param> /// <param name="beforeAsync"></param> protected WithSagaAsync( IErrorHandlerStrategyAsync errorHandlerStrategy, IRetryStrategy retryStrategy, IGeneralAspectAsync generalAspectAsync, IReadOnlyList <IBeforeAspectAsync <TInput, TOutput> > beforeAsync) : this(errorHandlerStrategy, TimeSpan.FromMilliseconds(Constant.DefaultDelay), retryStrategy, null, generalAspectAsync, beforeAsync, null) { }
/// <inheritdoc /> /// <summary> /// Create with error handler strategy, retry strategy, delay, general aspect and asynchronous general aspect. /// </summary> /// <param name="errorHandlerStrategy"></param> /// <param name="retryStrategy"></param> /// <param name="delay"></param> /// <param name="generalAspect"></param> /// <param name="generalAspectAsync"></param> protected WithSagaAsync( IErrorHandlerStrategyAsync errorHandlerStrategy, IRetryStrategy retryStrategy, int delay, IGeneralAspect generalAspect, IGeneralAspectAsync generalAspectAsync) : this(errorHandlerStrategy, TimeSpan.FromMilliseconds(delay), retryStrategy, generalAspect, generalAspectAsync, null, null) { }
/// <inheritdoc /> /// <summary> /// Create with error handler strategy, general aspect, asynchronous general aspect, asynchronous before and after aspect. /// </summary> /// <param name="errorHandlerStrategy"></param> /// <param name="generalAspect"></param> /// <param name="generalAspectAsync"></param> /// <param name="beforeAsync"></param> /// <param name="afterAsync"></param> protected WithAspectAndErrorHandlerAsync( IErrorHandlerStrategyAsync errorHandlerStrategy, IGeneralAspect generalAspect, IGeneralAspectAsync generalAspectAsync, IReadOnlyList <IBeforeAspectAsync <TInput, TOutput> > beforeAsync, IReadOnlyList <IAfterAspectAsync <TInput, TOutput> > afterAsync) : base(generalAspect, generalAspectAsync, beforeAsync, afterAsync) { _errorHandlerStrategy = errorHandlerStrategy ?? throw new ArgumentNullException("Error handler strategy cannot be null."); }
/// <inheritdoc /> /// <summary> /// Create with error handler strategy, delay, retry strategy, general aspect, asynchronous aspect, asynchronous before and after aspect. /// </summary> /// <param name="errorHandlerStrategy"></param> /// <param name="delay"></param> /// <param name="retryStrategy"></param> /// <param name="generalAspect"></param> /// <param name="generalAspectAsync"></param> /// <param name="beforeAsync"></param> /// <param name="afterAsync"></param> protected WithSagaAsync( IErrorHandlerStrategyAsync errorHandlerStrategy, TimeSpan delay, IRetryStrategy retryStrategy, IGeneralAspect generalAspect, IGeneralAspectAsync generalAspectAsync, IReadOnlyList <IBeforeAspectAsync <TInput, TOutput> > beforeAsync, IReadOnlyList <IAfterAspectAsync <TInput, TOutput> > afterAsync) : base(delay, retryStrategy, generalAspect, generalAspectAsync, beforeAsync, afterAsync) { _errorHandlerStrategy = errorHandlerStrategy; }
/// <inheritdoc /> /// <summary> /// Create retry aspect with 20ms delay and error handler. /// </summary> /// <param name="retryStrategy"></param> /// <param name="errorHandlerStrategy"></param> protected WithRetryAndErrorHandlerAsync(IRetryStrategy retryStrategy, IErrorHandlerStrategyAsync errorHandlerStrategy) : this(retryStrategy, errorHandlerStrategy, TimeSpan.FromMilliseconds(Constant.DefaultDelay)) { }
/// <inheritdoc /> /// <summary> /// Create retry aspect with error handler. /// </summary> /// <param name="retryStrategy"></param> /// <param name="errorHandlerStrategy"></param> /// <param name="delay"></param> protected WithRetryAndErrorHandlerAsync(IRetryStrategy retryStrategy, IErrorHandlerStrategyAsync errorHandlerStrategy, TimeSpan delay) : base(retryStrategy, delay) { _errorHandlerStrategy = errorHandlerStrategy; }
public SagaAsyncFactoryBase(IErrorHandlerStrategyAsync errorHandlerStrategy, IRetryStrategy retryStrategy) { ErrorHandlerStrategy = errorHandlerStrategy ?? throw new ArgumentNullException("Error handler strategy cannot be null."); RetryStrategy = retryStrategy ?? throw new ArgumentNullException("Retry strategy cannot be null."); }
public AspectAndErrorHandlerAsyncFactoryBase(IErrorHandlerStrategyAsync errorHandlerStrategy) { ErrorHandlerStrategy = errorHandlerStrategy ?? throw new ArgumentNullException("Error handler strategy cannot be null."); }
/// <summary> /// Create with asynchronous error handler strategy. /// </summary> /// <param name="errorHandlerStrategy"></param> protected WithErrorHandlerAsync(IErrorHandlerStrategyAsync errorHandlerStrategy) { _errorHandlerStrategy = errorHandlerStrategy; }