Header API changes in NServiceBus Version 6

Component: NServiceBus

This is part of the NServiceBus Upgrade Guide from Version 5 to 6, which also includes the following individual upgrade guides for specific components:

Feature Details

Setting headers on outgoing messages

Headers are now set using the new Send/Reply or Publish options. Bus.SetMessageHeader is no longer available.

See also: Header Manipulation.

Setting outgoing headers for the entire endpoint

NServiceBus allows setting headers that are applied to all outgoing messages for the entire endpoint. In version 6, this can be done using:

endpointConfiguration.AddHeaderToAllOutgoingMessages("MyGlobalHeader", "some static value");

Setting headers on the outgoing pipeline

Headers for outgoing messages can now be set using context.Headers on pipelines such as:

6.x NServiceBus
public class OutgoingBehavior :
    public override Task Invoke(IOutgoingLogicalMessageContext context, Func<Task> next)
        var headers = context.Headers;
        headers["MyCustomHeader"] = "My custom value";
        return next();
5.x NServiceBus
public class OutgoingBehavior :
    public void Invoke(OutgoingContext context, Action next)
        var headers = context.OutgoingMessage.Headers;
        headers["MyCustomHeader"] = "My custom value";

Also note that headers can only be set on the outgoing pipeline.

Last modified