AMQP specific message headers can be set on or retrieved from the ServiceModel.Channels.Message using the AmqpProperties type.
For example, on output:
AmqpProperties props = new AmqpProperties(); props.Durable = true; props.PropertyMap.Add("my_custom_header", new AmqpString("a custom value")); Message msg = Message.CreateMessage(args); msg.Properties.Add("AmqpProperties", amqpProperties); outputChannel.Send(msg);
On input the headers can be accessed from the Message or extracted from the operation context
public void SayHello(string greeting) { AmqpProperties props = (AmqpProperties) OperationContext. Current.IncomingMessageProperties["AmqpProperties"]; AmqpString extra = (AmqpString) props.PropertyMap["my_custom_header"]; Console.WriteLine("Service received: {0} and {1}", greeting, extra); }