public RetryExponentialDelayAspect ( uint keepTryingForMilliseconds, uint initialMillisecDelayBetweenRetries = 1, double delayMultiplier = 2.0, FailureDetectorDelegate optionalFailureDetector = null ) : System | ||
keepTryingForMilliseconds | uint | Maximum amount of time to keep retrying for, after which failure is considered permanent. |
initialMillisecDelayBetweenRetries | uint | Delay after first failed attempt. Delay between subsequent attempts will grow. |
delayMultiplier | double | Multiplier determining growth of delay between subsequent attempts. |
optionalFailureDetector | FailureDetectorDelegate | Optional custom method to decide whether failure occurred and retry is required. If not provided, exception in the main method or result post-processing will trigger retry. |
return | System |
public RetryExponentialDelayAspect(uint keepTryingForMilliseconds, uint initialMillisecDelayBetweenRetries = 1, double delayMultiplier = 2.0, FailureDetectorDelegate optionalFailureDetector = null)
: base(keepTryingForMilliseconds, initialMillisecDelayBetweenRetries == 0 ? 1 : initialMillisecDelayBetweenRetries, optionalFailureDetector)
{
if(delayMultiplier <= 1)
throw new ArgumentException("delayMultiplier has to be greater than 1. {0} is an invalid value.".SmartFormat(delayMultiplier));
this.DelayMultiplier = delayMultiplier;
}