NServiceBus.DefaultRecoverabilityPolicy.Invoke C# (CSharp) Method

Invoke() public static method

Invokes the default recovery policy.
public static Invoke ( RecoverabilityConfig config, ErrorContext errorContext ) : RecoverabilityAction
config RecoverabilityConfig The recoverability configuration.
errorContext ErrorContext The error context.
return RecoverabilityAction
        public static RecoverabilityAction Invoke(RecoverabilityConfig config, ErrorContext errorContext)
        {
            if (errorContext.Exception is MessageDeserializationException)
            {
                return RecoverabilityAction.MoveToError(config.Failed.ErrorQueue);
            }

            if (errorContext.ImmediateProcessingFailures <= config.Immediate.MaxNumberOfRetries)
            {
                return RecoverabilityAction.ImmediateRetry();
            }

            TimeSpan delay;
            if (TryGetDelay(errorContext.Message, errorContext.DelayedDeliveriesPerformed, config.Delayed, out delay))
            {
                return RecoverabilityAction.DelayedRetry(delay);
            }

            return RecoverabilityAction.MoveToError(config.Failed.ErrorQueue);
        }