public void Execute(OnDispatchTransportMessage pipelineEvent) { var state = pipelineEvent.Pipeline.State; var transportMessage = state.GetTransportMessage(); var transportMessageReceived = state.GetTransportMessageReceived(); if (transportMessageReceived != null) { try { if (_idempotenceService.AddDeferredMessage(transportMessageReceived, transportMessage, state.GetTransportMessageStream())) { return; } } catch (Exception ex) { _idempotenceService.AccessException(_log, ex, pipelineEvent.Pipeline); } } Guard.AgainstNull(transportMessage, nameof(transportMessage)); Guard.AgainstNullOrEmptyString(transportMessage.RecipientInboxWorkQueueUri, "uri"); var queue = !_configuration.HasOutbox ? _queueManager.GetQueue(transportMessage.RecipientInboxWorkQueueUri) : _configuration.Outbox.WorkQueue; using (var stream = state.GetTransportMessageStream().Copy()) { queue.Enqueue(transportMessage, stream); } }
public void Execute(OnDispatchTransportMessage pipelineEvent) { var state = pipelineEvent.Pipeline.State; var transportMessage = state.GetTransportMessage(); var receivedMessage = state.GetReceivedMessage(); Guard.AgainstNull(transportMessage, nameof(transportMessage)); Guard.AgainstNull(receivedMessage, nameof(receivedMessage)); Guard.AgainstNullOrEmptyString(transportMessage.RecipientInboxWorkQueueUri, "uri"); var queue = _queueManager.GetQueue(transportMessage.RecipientInboxWorkQueueUri); using (var stream = receivedMessage.Stream.Copy()) { queue.Enqueue(transportMessage, stream); } }