このコードを使用して、返信先を取得できます。
string returnAddress = Bus.CurrentMessageContext.ReturnAddress;
しかし、メッセージの「宛先」を取得するにはどうすればよいですか。つまり、NServiceBusがメッセージをプルしたキュー。
ソースを調べてみたところ、Bus.Transport.Addressが欲しいのですが、Transportにはアクセスできません
注:私は、メッセージハンドラの「ハンドル」メソッド内にいます。
回答:
回答№1は2これは、MsmqTransport構成セクションにあるアドレスと同じでなければなりません。そのセクションを引き出して値を取得できるはずです。
String address = Configure.ConfigurationSource.GetConfiguration<MsmqTransportConfig>().InputQueue;
回答№2の場合は0
私はプロパティを追加することでそれを注入するようです
public ITransport Transport { get; set; }
そしてアクセス
Transport.Address
注:最新のソースには、ITransportにプロパティ「アドレス」がないことが判明しています。したがって、この答えは正しくありません:(