Come distribuire pipeline
Le pipeline vengono compilate e distribuite durante il processo di generazione e distribuzione della soluzione. Il compilatore chiama il metodo Validate in ogni componente, consentendo ai componenti di restituire errori di compilazione nelle informazioni configurate. Dopo essere stata generata, la pipeline viene distribuita nello stesso assembly con il resto della soluzione durante la distribuzione della soluzione.
Configurazione di pipeline per istanza
La configurazione di pipeline per istanza viene utilizzata per modificare le proprietà dei componenti della pipeline all'interno di una pipeline distribuita a livello di porta di trasmissione o di indirizzo di ricezione. La configurazione di pipeline per istanza risulta particolarmente utile quando è necessario modificare solo alcune proprietà dei componenti della pipeline per ogni istanza. Se ad esempio è necessario supportare tipi di messaggio diversi in più indirizzi di ricezione e si dispone di un'unica pipeline di ricezione XML personalizzata, la configurazione della pipeline per singola istanza consente di distribuire la pipeline e di ignorare la configurazione predefinita (nonché l'indicazione di nomi diversi per le specifiche di busta e documento). Questo meccanismo è supportato nella console di gestione BizTalk e, a livello di programmazione, tramite il modello oggetto di BizTalk Explorer.
Configurazione della pipeline per istanza utilizzando la Console di amministrazione BizTalk
È possibile eseguire la configurazione di pipeline per istanza utilizzando la console di gestione BizTalk. Dopo aver distribuito la pipeline personalizzata, creare la quantità richiesta di indirizzi di ricezione o di porte di trasmissione. Per ciascun indirizzo di ricezione o ciascuna porta di trasmissione, quindi, eseguire l'override dei valori di proprietà predefiniti utilizzando la finestra di dialogo Configura pipeline. Ad esempio, per specificare uno schema di documento diverso, immettere un nome dello schema per la proprietà EnvelopeDocSpecNames .
Avviso
Non verrà eseguita alcuna convalida dei valori di configurazione specificati nell'indirizzo di ricezione o nella porta di trasmissione. Se la configurazione non è corretta, i messaggi non verranno elaborati durante il passaggio nella pipeline al runtime.
Configurazione di pipeline per istanza mediante il modello oggetto di Explorer
Quando il file XML che descrive la configurazione per istanza dei componenti della pipeline viene letto, tale file esegue l'override delle proprietà impostate nel file di pipeline.
La configurazione della pipeline per istanza viene impostata utilizzando il modello a oggetti di BizTalk Explorer. Il modello a oggetti BizTalk Explorer fornisce la proprietà ReceivePipelineData nelle interfacce IReceiveLocation e ISendPort per impostare la configurazione dei componenti della pipeline di ricezione. Il modello a oggetti BizTalk Explorer fornisce anche il metodo SendPipelineData nelle interfacce IReceivePort e ISendPort per impostare la configurazione dei componenti della pipeline di invio.
La configurazione di pipeline per istanza non supporta le operazioni seguenti:
Riordinamento delle fasi all'interno della pipeline
Aggiunta o rimozione di fasi
Riordinamento dei componenti all'interno delle fasi
Aggiunta o rimozione di componenti
Le uniche modifiche supportate sono le modifiche alla configurazione dei componenti della pipeline. La configurazione per istanza di un componente della pipeline ha la precedenza sulla configurazione comune dei componenti della pipeline. Se un parametro di un componente non viene specificato nella configurazione di pipeline per istanza, verrà utilizzata la configurazione comune per tale parametro (come configurato in Progettazione pipeline).
Di seguito è riportato un esempio di dati di configurazione per istanza.
<?xml version="1.0" encoding="utf-16"?>
<Root xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Stages>
<Stage CategoryId="9d0e4103-4cce-4536-83fa-4a5040674ad6">
<Components>
<Component Name=Microsoft Microsoft.BizTalk.Component.MIME_SMIME_Decoder>
<Properties>
<AllowNonMIMEMessage vt=11>true</AllowNonMIMEMessage>
</Properties>
</Component>
</Components>
</Stage>
<Stage CategoryId="9d0e4105-4cce-4536-83fa-4a5040674ad6">
<Components>
<Component Name=Microsoft.BizTalk.Component.XmlDasmComp>
<Properties>
<EnvelopeSpecNames vt=8>MySchemas.EnvelopeSpecNames</EnvelopeSpecNames>
<AllowUnrecognizedMessage vt=11>false</AllowUnrecognizedMessage>
</Properties>
</Component>
</Components>
</Stage>
<Stage CategoryId="9d0e410d-4cce-4536-83fa-4a5040674ad6" ExecutionSequence="2">
<Components>
<Component Name=Microsoft.BizTalk.Component.XmlValidator >
<Properties>
<DocumentSpecName vt=8>MySchemas.DocspecName</DocumentSpecName>
</Properties>
</Component>
</Components>
</Stage>
</Stages>
</Root>