阅读您的问题让我认为您想将此标头添加到您要在初始化/启动期间或处理消息时发送的特定消息中。通常,标头具有更通用的行为,因为它们需要应用于多个消息。
除了在发送消息之前设置标头之外,您还可以通过message mutator或behavior添加标头。
行为
public class OutgoingBehavior : IBehavior<SendPhysicalMessageContext>
{
public void Invoke(SendPhysicalMessageContext context, Action next)
{
Dictionary<string, string> headers = context.MessageToSend.Headers;
headers["MyCustomHeader"] = "My custom value";
next();
}
}
突变体
public class MutateOutgoingTransportMessages : IMutateOutgoingTransportMessages
{
public void MutateOutgoing(object[] messages, TransportMessage transportMessage)
{
Dictionary<string, string> headers = transportMessage.Headers;
headers["MyCustomHeader"] = "My custom value";
}
}
文档
有关示例,请参见:http ://docs.particular.net/nservicebus/messaging/message-headers#replying-to-a-saga-writing-outgoing-headers 。