/ / NServiceBusがメッセージをプルしたキュー名を取得する方法-nservicebus

NServiceBusがメッセージをプルしたキュー名を取得する方法 - nservicebus

このコードを使用して、返信先を取得できます。

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にプロパティ「アドレス」がないことが判明しています。したがって、この答えは正しくありません:(

https://nservicebus.svn.sourceforge.net/svnroot/nservicebus/trunk/src/unicastTransport/NServiceBus.Unicast.Transport/ITransport.cs