public void Execute(OnAfterDeserializeTransportMessage pipelineEvent) { if (_log.IsVerboseEnabled) { return; } var transportMessage = pipelineEvent.Pipeline.State.GetTransportMessage(); _log.Verbose(string.Format(LoggingResources.TransportMessageDeserialized, transportMessage.MessageType, transportMessage.MessageId)); }
public void Execute(OnAfterDeserializeTransportMessage pipelineEvent) { var state = pipelineEvent.Pipeline.State; var receivedMessage = state.GetReceivedMessage(); var transportMessage = state.GetTransportMessage(); var workQueue = state.GetWorkQueue(); Guard.AgainstNull(receivedMessage, nameof(receivedMessage)); Guard.AgainstNull(transportMessage, nameof(transportMessage)); Guard.AgainstNull(workQueue, nameof(workQueue)); if (!transportMessage.IsIgnoring()) { return; } using (var stream = receivedMessage.Stream.Copy()) { if (state.GetDeferredQueue() == null) { workQueue.Enqueue(transportMessage, stream); } else { state.GetDeferredQueue().Enqueue(transportMessage, stream); _configuration.Inbox.DeferredMessageProcessor.MessageDeferred(transportMessage.IgnoreTillDate); } } workQueue.Acknowledge(receivedMessage.AcknowledgementToken); if (_log.IsTraceEnabled) { _log.Trace(string.Format(Resources.TraceTransportMessageDeferred, transportMessage.MessageId, transportMessage.IgnoreTillDate.ToString("O"))); } pipelineEvent.Pipeline.Abort(); }