コード例 #1
0
        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));
        }
コード例 #2
0
        async Task MoveMessageToErrorQueue(OriginalTransportMessage originalTransportMessage, ITransactionContext transactionContext, Exception exception)
        {
            var transportMessage = originalTransportMessage.TransportMessage;

            await _errorHandler.HandlePoisonMessage(transportMessage, transactionContext, exception);
        }