Freigeben über


Verwenden von direkt gebundenen MessageBox-Ports

Mithilfe von direkt gebundenen MessageBox-Ports können Sie Nachrichten ohne expliziten Empfänger direkt in der MessageBox-Datenbank ablegen und Nachrichten anhand bestimmter Kriterien anstatt anhand bestimmter Absender abonnieren.

Das Senden einer Nachricht an einen direkt gebundenen MessageBox-Port entspricht dem Veröffentlichen der Nachricht auf einem Nachrichtenbus – in diesem Fall der MessageBox-Datenbank. Für eine veröffentlichte Nachricht kann es eine beliebige Anzahl von Abonnenten geben. Wenn es beim Veröffentlichen einer Nachricht keine interessierten Abonnenten gibt, wird eine Ausnahme vom Typ "Das Abonnement wurde nicht gefunden" ausgelöst. Wenn Sie eine Nachricht über einen direkt gebundenen MessageBox-Port unter Berücksichtigung eines bestimmten Empfängers senden, sollten Sie Eigenschaften auf bestimmte Werte im Nachrichtenzuweisungs-Shape festlegen, nach dem der gewünschte Abonnent gesucht werden soll. Sie können die Eigenschaften auf Grundlage der vordefinierten BizTalk Server-Eigenschaftendefinitionen oder Ihrer eigenen Eigenschaftendefinitionen festlegen. Beispiel:

myMessage(PropertyNamespace.PropertyName) = "My Property")

Das Empfangen einer Nachricht über einen direkt gebundenen MessageBox-Port entspricht dem Abonnieren eines Nachrichtenbus mit Filterkriterien. Empfänger der Nachricht kann jeder Diensttyp sein, der Nachrichten abonnieren kann. Hierzu zählen auch Orchestrierungen und Sendeports. Bei einer aktivierenden Empfangsform ist das Abonnement der Nachrichtentyp und der Filterausdruck, und für eine nicht aktivierende Empfangsform ist das Abonnement der Nachrichtentyp und der Korrelationssatz. Jedes Receive-Shape enthält immer den Nachrichtentyp als Teil seines Abonnements.

Hinweis

Sie müssen einen Filterausdruck verwenden, wenn Sie über ein aktiviertes Empfangs-Shape verfügen, das eine Nachricht vom TypSystem.Xml empfängt . XmlDocument oder Microsoft.XLANGs.BaseTypes.Any an einem direkt gebundenen Port mit abonnementdefiniertem Routing.

Wenn Sie in der aktivierenden Empfangsform , die mit einem direkten MessageBox-Port verbunden ist, keine Filterkriterien angegeben haben, sieht das Abonnement in etwa wie folgt aus:

http://schemas.microsoft.com/BizTalk/2003/system-properties.ReceivePortID == {2F6A80E1-2518-4A69-9C28-401C2DB1CBF6} And
http://schemas.microsoft.com/BizTalk/2003/system-properties.MessageType == http://MyMessageType

Im vorangegangenen Beispiel empfängt der direkt gebundene MessageBox-Empfangsport alle Nachrichten, die dem Nachrichtentyp entsprechen, für den der Port konfiguriert ist.

Hinweis

Beim Verwenden von direkt gebundenen MessageBox-Empfangsports sollten die Filter so spezifisch wie möglich sein. Bei einem zu unspezifischen Filter empfängt die Orchestrierung möglicherweise unerwünschte Nachrichten.

Um einen direkt gebundenen MessageBox-Port zu konfigurieren, wählen Sie Routing zwischen Ports wird durch Filterausdrücke für eingehende Nachrichten in der Message Box-Datenbank im Portkonfigurations-Assistenten definiert aus.

Ein Beispiel für die Verwendung von direkt gebundenen MessageBox-Ports finden Sie im SDK-Beispiel "Direkte Bindung an die MessageBox-Datenbank in Orchestrierungen" unter https://go.microsoft.com/fwlink/?LinkId=73703.

Weitere Informationen

Verwenden Self-Correlating direkt gebundenen PortsVerwenden von direkt gebundenen Ports für die Partnerorchestrierung