예제 #1
0
        public void Execute(OnAfterSendDeferred pipelineEvent)
        {
            var state = pipelineEvent.Pipeline.State;

            if (pipelineEvent.Pipeline.Exception != null && !state.GetTransactionComplete())
            {
                return;
            }

            var bus = state.GetServiceBus();
            var transportMessage = state.GetTransportMessage();

            if (!bus.Configuration.HasIdempotenceService)
            {
                return;
            }

            if (state.GetProcessingStatus() == ProcessingStatus.Ignore)
            {
                return;
            }

            try
            {
                bus.Configuration.IdempotenceService.ProcessingCompleted(transportMessage);
            }
            catch (Exception ex)
            {
                bus.Configuration.IdempotenceService.AccessException(_log, ex, pipelineEvent.Pipeline);
            }
        }
예제 #2
0
 public void Execute(OnAfterSendDeferred pipelineEvent1)
 {
     throw new NotImplementedException();
 }