/// <summary>
        /// Establishes the idempotent context for the specified message context.
        /// </summary>
        /// <param name="idempotentSagaData">The idempotent saga data.</param>
        /// <param name="messageContext">The message context.</param>
        private void EstablishIdempotencyContextFor(IIdempotentSagaData idempotentSagaData, IMessageContext messageContext)
        {
            var id = messageContext.RebusTransportMessageId;
            var serializer = backbone.SerializeMessages;

            log.Debug("Established idempotent saga context for: {0} (Handler: {1})", id, idempotentSagaData.GetType());

            var message = new Message()
            {
                Headers = messageContext.Headers,
                Messages = new object[] { messageContext.CurrentMessage }
            };
            var serializedMessage = serializer.Serialize(message);

            var executionResults = new IdempotentSagaResults(id, serializedMessage, serializer.GetType());
            messageContext.Items[Headers.IdempotentSagaResults] = executionResults;
        }
Exemple #2
0
        /// <summary>
        /// Establishes the idempotent context for the specified message context.
        /// </summary>
        /// <param name="idempotentSagaData">The idempotent saga data.</param>
        /// <param name="messageContext">The message context.</param>
        private void EstablishIdempotencyContextFor(IIdempotentSagaData idempotentSagaData, IMessageContext messageContext)
        {
            var id         = messageContext.RebusTransportMessageId;
            var serializer = backbone.SerializeMessages;

            log.Debug("Established idempotent saga context for: {0} (Handler: {1})", id, idempotentSagaData.GetType());

            var message = new Message()
            {
                Headers  = messageContext.Headers,
                Messages = new object[] { messageContext.CurrentMessage }
            };
            var serializedMessage = serializer.Serialize(message);

            var executionResults = new IdempotentSagaResults(id, serializedMessage, serializer.GetType());

            messageContext.Items[Headers.IdempotentSagaResults] = executionResults;
        }