/ / Wie erhalte ich den Queue-Namen, aus dem NServiceBus die Nachricht von - nservicebus gezogen hat

Wie bekomme ich den Queue-Namen, von dem NServiceBus die Nachricht gezogen hat - nservicebus

Ich kann diesen Code verwenden, um die Absenderadresse zu erhalten.

string returnAddress = Bus.CurrentMessageContext.ReturnAddress;

Aber wie bekomme ich das "Ansprechen" der Nachricht? die Warteschlange, aus der NServiceBus die Nachricht abgerufen hat.

Ich habe mir die Quelle angesehen und es scheint, als ob Bus.Transport.Address das ist, was ich will, aber es gibt keinen Transport

Hinweis: Ich bin innerhalb der "Handle" -Methode eines Message-Handlers.

Antworten:

2 für die Antwort № 1

Dies sollte dieselbe Adresse sein, die sich in Ihrem MsmqTransport-Konfigurationsabschnitt befindet. Sie sollten in der Lage sein, diesen Abschnitt zu ziehen und den Wert zu übernehmen.

String address = Configure.ConfigurationSource.GetConfiguration<MsmqTransportConfig>().InputQueue;

0 für die Antwort № 2

Anscheinend bekomme ich es einfach, indem ich eine Eigenschaft hinzufüge

public ITransport Transport { get; set; }

Und dann zugreifen

Transport.Address

HINWEIS: Es stellt sich heraus, dass in der neuesten Quelle keine Eigenschaft "Adresse" für ITransport vorhanden ist. Diese Antwort ist also nicht korrekt :(

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