示例#1
0
        /// <inheritdoc cref="IProducerBehavior.HandleAsync" />
        public async Task HandleAsync(ProducerPipelineContext context, ProducerBehaviorHandler next)
        {
            Check.NotNull(context, nameof(context));
            Check.NotNull(next, nameof(next));

            HeaderAttributeHelper.GetHeaders(context.Envelope.Message)
            .ForEach(header => context.Envelope.Headers.AddOrReplace(header.Name, header.Value));

            await next(context).ConfigureAwait(false);
        }
示例#2
0
        /// <inheritdoc cref="IConsumerBehavior.HandleAsync" />
        public async Task HandleAsync(
            ConsumerPipelineContext context,
            ConsumerBehaviorHandler next)
        {
            Check.NotNull(context, nameof(context));
            Check.NotNull(next, nameof(next));

            if (context.Envelope is IInboundEnvelope inboundEnvelope)
            {
                HeaderAttributeHelper.SetFromHeaders(
                    inboundEnvelope.Message,
                    inboundEnvelope.Headers);
            }

            await next(context).ConfigureAwait(false);
        }