Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un componente della pipeline è un componente .NET o COM che implementa un set di interfacce predefinite per l'interazione con il motore di messaggistica BizTalk. A seconda della funzionalità del componente, è necessario implementare interfacce diverse. Questo argomento illustra queste interfacce e alcuni dei relativi metodi.
Avvertimento
Se si sta creando un componente della pipeline personalizzato tramite COM, è necessario configurare il componente per l'uso del modello MTA (Multi-Threaded Apartment). Se non lo fai, l'invocazione del componente avrà esito negativo con un errore E_NOINTERFACE.
IPipelineContext
Tutti i componenti della pipeline possono usare i metodi IPipelineContext per accedere a tutte le interfacce specifiche dell'elaborazione dei documenti. L'interfaccia IPipelineContext offre le funzionalità seguenti:
Consente ai componenti di recuperare le impostazioni della pipeline di ambiente e della fase.
Consente ai componenti di recuperare messaggi e fabbriche di messaggi. Con queste factory, i componenti possono creare vari oggetti necessari per l'esecuzione del componente.
Consente ai componenti di recuperare le specifiche del documento. Una specifica di documento è uno schema XSD più annotazioni aggiuntive.
IBaseComponent
Tutti i componenti della pipeline devono implementare questa interfaccia per fornire informazioni di base sul componente.
IComponent
Tutti i componenti della pipeline, ad eccezione degli assembler e dei disassembler, implementano questa interfaccia per ottenere messaggi dal motore BizTalk Server per l'elaborazione e per passare nuovamente i messaggi elaborati al motore.
Eseguire. Metodo chiamato dal motore per passare il messaggio di input al componente e recuperare il messaggio elaborato dal componente.
IPropertyBag, IPersistPropertyBag
I componenti della pipeline devono implementare IPersistPropertyBag per ricevere le informazioni di configurazione. Questa interfaccia e IPropertyBag sono le interfacce standard. Per altre informazioni su queste interfacce, vedere la documentazione di Microsoft .NET Framework Software Development Kit (SDK).
IDisassemblerComponent
Un componente di disassembling è un componente della pipeline che riceve un messaggio sull'input e produce zero o più messaggi nell'output. I componenti di disassembling vengono usati per suddividere gli interscambi di messaggi in singoli documenti. Un componente disassembler deve implementare i metodi dell'interfaccia IDisassemblerComponent per ottenere messaggi da BizTalk Server per l'elaborazione e per passare documenti disassemblati a BizTalk Server.
| Metodo | Descrizione |
|---|---|
| disassemble | Esegue il disassemblaggio del documento in ingresso pInMsg. |
| GetNext | Ottiene il messaggio successivo dal set di messaggi risultante dall'esecuzione del disassembler. Restituisce NULL se non sono presenti altri messaggi. |
Se si scrive un componente disassembler che supporterà l'elaborazione dell'interscambio ripristinabile, è necessario eseguire le operazioni seguenti:
Rendere possibile il seek dei flussi di input incapsulandoli in un oggetto VirtualStream().
In GetNext() disporre della logica per determinare quando un messaggio è difettoso. Se un messaggio è difettoso, impostare BTS.MessageDestination = "SuspendQueue" e restituire il messaggio tramite GetNext().
Se il messaggio è valido, impostare BTS.SuspendMessageOnRoutingFailure = True e restituire il messaggio in GetNext().
IAssemblerComponent
Un componente di assemblaggio è un componente della pipeline che riceve diversi messaggi sull'input e produce un messaggio nell'output. I componenti di assemblaggio vengono usati per raccogliere singoli documenti nel lotto di interscambio di messaggi.
Annotazioni
In questa versione di BizTalk Server, la funzionalità di assemblaggio non viene usata, quindi BizTalk Server passa sempre un documento all'input del componente.
Un componente assembler implementa i metodi IAssemblerComponent chiamati dal motore BizTalk Server in fase di esecuzione.
| Metodo | Descrizione |
|---|---|
| AddDocument | Aggiunge il documento pInMsg all'elenco di messaggi che verranno inclusi nell'interscambio. |
| Assemblare | Compila l'interscambio dai messaggi aggiunti dal metodo precedente. Restituisce un puntatore al messaggio assemblato. |
IProbeMessage
Qualsiasi componente della pipeline (generico, assembling o disassembling) può implementare IProbeMessage se richiede funzionalità di sondaggio dei messaggi. Un componente di sonda viene utilizzato nelle fasi della pipeline che hanno la modalità di esecuzione FirstMatch. In tali fasi, BizTalk Server fornisce il messaggio al componente e il metodo Probe esamina l'inizio del messaggio per determinare se il componente riconosce il formato del messaggio.
| Metodo | Descrizione |
|---|---|
| probe | Questo metodo accetta il messaggio pInMsg e restituisce True se il formato è riconosciuto o False in caso contrario. |
INamedItem
Si tratta di un'interfaccia helper per l'accesso agli schemi dei documenti da codice gestito e non gestito.
INamedItemList
Si tratta di un'interfaccia helper per l'accesso agli schemi dei documenti da codice gestito e non gestito.
IDocumentSpec
I componenti della pipeline possono usare i metodi dell'interfaccia IDocumentSpec per eseguire azioni specifiche del documento, ad esempio lo spostamento delle proprietà del contenuto nel contesto e il back, l'accesso agli schemi dei documenti e così via.
| Metodo | Descrizione |
|---|---|
| DocType | Restituisce il tipo del documento corrente. |
| DocSpecName | Restituisce il nome della specifica del documento corrente. |
| GetSchemaCollection | Restituisce l'elenco degli schemi di documento per il documento corrente. |
| GetBodyPath | Restituisce l'XPath al nodo del documento in cui inizia la parte del corpo. |
| GetDistinguishedPropertyAnnotationEnumerator | Restituisce un enumeratore dizionario di tutte le annotazioni delle proprietà dei campi distinti. |
| GetPropertyAnnotationEnumerator | Restituisce un enumeratore di tutte le annotazioni delle proprietà. |
IComponentUI
I componenti della pipeline devono implementare questa interfaccia per essere utilizzati nell'ambiente del Progettista pipeline.
| Metodo | Descrizione |
|---|---|
| icona | Fornisce l'icona associata a questo componente. |
| Convalida | Pipeline Designer chiama questo metodo prima della compilazione della pipeline per verificare che tutte le proprietà di configurazione siano impostate correttamente. |
La proprietà Icon restituisce un oggetto IntPtr. L'esempio C# seguente illustra come restituire un oggetto IntPtr.
static ResourceManager resManager = new ResourceManager("ResourceManager", Assembly.GetExecutingAssembly());
...
[Browsable(false)]
public IntPtr Icon
{
get
{
return ((Bitmap)resManager.GetObject("MyIcon")).GetHicon();
}
}
Per altre informazioni, vedere IComponentUI Interface (COM) nella guida dell'interfaccia utente e informazioni di riferimento sullo spazio dei nomi delle API per sviluppatori.
Vedere anche
Sviluppo di componenti della pipeline personalizzati
CustomComponent (esempio di BizTalk Server)