Condividi tramite


Come utilizzare le porte con binding diretto MessageBox

Le porte con binding diretto MessageBox consentono di eliminare i messaggi direttamente nel database MessageBox senza un destinatario esplicito e di sottoscrivere i messaggi che soddisfano determinati criteri anziché i messaggi che arrivano da un determinato mittente.

L'invio di un messaggio in una porta associata diretta MessageBox equivale alla pubblicazione del messaggio in un bus di messaggi, in questo caso al database MessageBox. Vi può essere un numero imprecisato di sottoscrittori per qualsiasi messaggio pubblicato e se non vi sono sottoscrittori interessati al messaggio al momento della pubblicazione verrà generata un'eccezione "sottoscrizione non trovata". Se si invia un messaggio tramite una porta associata diretta MessageBox con un determinato destinatario in mente, è possibile impostare proprietà su valori specifici nella forma Assegnazione messaggi per il sottoscrittore previsto per cercare. È possibile impostare le proprietà in base a definizioni di proprietà predefinite di BizTalk Server o definizione di proprietà personalizzate. Ad esempio:

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

La ricezione di un messaggio attraverso una porta con binding diretto MessageBox equivale a sottoscrivere un bus di messaggi con criteri di filtro. I destinatari del messaggio possono essere qualsiasi tipo di servizio in grado di sottoscrivere i messaggi, il che include orchestrazioni e porte di trasmissione. Per un'attivazione della forma Ricezione , la sottoscrizione è il tipo di messaggio e l'espressione di filtro e per una forma di ricezione non attivata, la sottoscrizione è il tipo di messaggio e il set di correlazione. Ogni forma di ricezione include sempre il tipo di messaggio come parte della relativa sottoscrizione.

Nota

È necessario usare un'espressione di filtro se si dispone di una forma di ricezione che riceve un messaggio di tipo System.Xml. XmlDocument o Microsoft.XLANGs.BaseTypes.Any in una porta associata diretta con routing definito dalla sottoscrizione.

Se non è stato specificato alcun criterio di filtro nella forma di ricezione attiva connessa a una porta associata diretta MessageBox, la sottoscrizione sarà simile alla seguente:

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

Nell'esempio precedente, la porta di ricezione con binding diretto MessageBox riceverà tutti i messaggi che corrispondono al tipo di messaggio per cui l'operazione della porta è stata configurata.

Nota

Quando si utilizzano le porte di ricezione con binding diretto MessageBox, è necessario creare il filtro in modo più specifico possibile. Se non si crea un filtro specifico a sufficienza, l'orchestrazione riceverà messaggi indesiderati.

Per configurare una porta con associazione diretta MessageBox, selezionare Routing tra le porte verrà definita dalle espressioni di filtro nei messaggi in ingresso nel database Della finestra di messaggio nella Configurazione guidata porta.

Per un esempio di come usare le porte con associazione diretta messageBox, vedere l'esempio di SDK "Associazione diretta al database MessageBox in Orchestrations" in https://go.microsoft.com/fwlink/?LinkId=73703.

Vedere anche

Come usare Self-Correlating porte associatedirette come usare porte associate ai partner