Wie kann MessageEndpointMappings ein Abonnement im Vergleich zu ausgehenden Nachrichten einrichten?

8

Ich sehe den Abschnitt MessageEndpointMappings in meiner App.config und es verwirrt mich immer.

Manchmal sieht es so aus, als würde ein Client eine andere Warteschlange abonnieren (wie diese):

%Vor%

Aber manchmal scheint es verwendet zu werden, um ausgehende Nachrichten zu anderen Warteschlangen zu konfigurieren:

%Vor%

Aber wirklich, es gibt keinen Unterschied zwischen den beiden. Wie weiß es dann, wann ein Abonnement eingerichtet und wann das Senden von Nachrichten eingerichtet werden soll?

Oder macht es wirklich beide die ganze Zeit und ich benutze beides einfach nicht?

    
Vaccano 04.01.2012, 22:47
quelle

1 Antwort

19

Was Sie mit dem Element MessageEndpointMappings deklarieren, ist im Wesentlichen "wer ist der Besitzer der angegebenen Nachrichten?"

Eine andere Möglichkeit, es anzuzeigen, ist, dass dies die Richtung von der Dienstabhängigkeit ist - nicht der Nachrichtenfluss, da dies davon abhängt, ob Nachrichten Send t oder Publish d erhalten.

Um also Nachrichten senden und Nachrichten von einem bestimmten Dienst abonnieren zu können, deklarieren Sie eine Endpunktzuordnung im Absender / Teilnehmerende.

Wenn der Absender / Abonnent eine Endpunktzuordnung hat, die auf einen anderen Dienst und einen Handler für eine in dieser Endpunktzuordnung enthaltene Nachricht zeigt, ist NServiceBus so nett, dass er automatisch diese Nachricht abonniert ( es sei denn, du deaktivierst das Auto-Abonnement mit DoNotAutoSubscribe() ) - denn logisch muss das bedeuten, dass der Sender / Abonnent die gegebene Nachricht abonnieren möchte.

Wenn Sie so darüber nachdenken, denke ich, dass es Sinn macht. Hoffe du fühlst es auch so:)

    
mookid8000 05.01.2012, 10:06
quelle

Tags und Links