2016-05-03 8 views
2

私はMassTransit 3.2.4を使用しています。公開されたメッセージにいくつかのヘッダー情報を追加しようとしていますが、ヘッダーを設定するコードは実行されません。なぜこれがうまくいかないのか分かりません。消費者側のMassTransit:パイプラインを公開するためのヘッダーの追加

var bus = Bus.Factory.CreateUsingRabbitMq(config => 
{ 
    var host = config.Host(new Uri("rabbitmq://localhost/"), h {}); 
    config.ReceiveEndpoint(host, "TestPublisher", e => 
    { 
     e.ConfigurePublish(x => x.UseSendExecute(context => 
      context.Headers.Set("HeaderKey", "HeaderValue") 
     )); 
    }); 
}); 

私は、ヘッダー

public Task Consume(ConsumeContext<IActionHappened> context) 
{ 
    var headerValue = context.Headers.Get("HeaderKey", "Default Value"); 
} 

を読みしようとしている私は、ヘッダ情報を設定するためにインターセプタまたは何か他のものを追加する必要がありますか?

答えて

2

多くの推測の後でそれを見つけました。ちょうど間違った場所にConfigurePublishを持っていた

var bus = Bus.Factory.CreateUsingRabbitMq(config => 
{ 
    var host = config.Host(new Uri("rabbitmq://localhost/"), h => {}); 
    config.ConfigurePublish(x => x.UseSendExecute(context => 
    { 
     context.Headers.Set("HeaderKey", "HeaderValue"); 
    })); 
} 
+0

公開するためにIBusを使用している場合は、これが正しいです。受信エンドポイントのコンシューマー内でのパブリッシュは、受信エンドポイント内で構成されている場合には有効でした。 –

関連する問題