public Task ProcessAsync(StepContext context, Func <Task> next, IValidator validator, ValidationResult validationResult) { OriginalTransportMessage originalTransportMessage = context.Load <OriginalTransportMessage>(); TransportMessage transportMessage = originalTransportMessage.TransportMessage; ITransactionContext transactionContext = context.Load <ITransactionContext>(); _logger.Debug(string.Format(CultureInfo.CurrentCulture, Resources.ValidationFailed_MovingToErrorQueue, "{MessageType}", "{MessageId}"), transportMessage.GetMessageType(), transportMessage.GetMessageId()); var ex = new ValidationException(validationResult.Errors); return(_errorHandler.HandlePoisonMessage(transportMessage, transactionContext, ex)); }
async Task MoveMessageToErrorQueue(OriginalTransportMessage originalTransportMessage, ITransactionContext transactionContext, Exception exception) { var transportMessage = originalTransportMessage.TransportMessage; await _errorHandler.HandlePoisonMessage(transportMessage, transactionContext, exception); }