protected override void ModifyBasicProperties(IPipeContext context, IBasicProperties props) { var correlationId = context.GetCorrelationId() ?? Guid.NewGuid().ToString(); var consumeCfg = context.GetResponseConfiguration(); var clientCfg = context.GetClientConfiguration(); if (consumeCfg.Consume.IsDirectReplyTo() || consumeCfg.Exchange == null) { props.ReplyTo = consumeCfg.Consume.QueueName; } else { props.ReplyToAddress = new PublicationAddress(consumeCfg.Exchange.ExchangeType, consumeCfg.Exchange.Name, consumeCfg.Consume.RoutingKey); } props.CorrelationId = correlationId; props.Expiration = clientCfg.RequestTimeout.TotalMilliseconds.ToString(); }