Guida di riferimento ai contratti di servizio degli adapter WCF

 

Gli adapter WCF utilizzano contratti di messaggio non tipizzato durante la ricezione di messaggi. Utilizzando il contratto di messaggio non tipizzato, gli adapter WCF possono ricevere qualsiasi tipo di messaggi WCF dai client. È possibile specificare come creare messaggi BizTalk dai messaggi WCF in ingresso tramite le opzioni del corpo del messaggio BizTalk in ingresso nella console di amministrazione BizTalk. I contratti di servizio degli adapter WCF nella tabella seguente vengono utilizzati come contratti di messaggio non tipizzato degli adapter di ricezione WCF.

Avviso

Questo argomento ha solo scopo informativo. Le informazioni fornite consentono di interpretare le istanze create dai contatori delle prestazioni WCF per gli adapter WCF e i metadati generati automaticamente per gli adapter WCF. Evitare di creare applicazioni sulla base di queste informazioni.

Interfaccia Descrizione
Interfaccia ITwoWayAsync Viene utilizzata per gli indirizzi di ricezione richiesta-risposta WCF. Gli adapter WCF elaborano in modo asincrono i messaggi in ingresso attraverso questa interfaccia.
Interfaccia ITwoWayAsyncVoid Viene utilizzata per gli indirizzi di ricezione unidirezionali WCF che non supportano un protocollo di transazione, escluso l'adapter WCF-NetMsmq. Gli adapter WCF elaborano in modo asincrono i messaggi in ingresso attraverso questa interfaccia.
Interfaccia ITwoWayAsyncVoidTxn Viene utilizzata per gli indirizzi di ricezione unidirezionali WCF che supportano un protocollo di transazione, escluso l'adapter WCF-NetMsmq. Gli adapter WCF elaborano in modo asincrono i messaggi in ingresso attraverso questa interfaccia.
Interfaccia IOneWayAsync Viene utilizzata per gli indirizzi di ricezione non transazionali unidirezionali WCF-NetMsmq. L'adapter WCF elabora in modo asincrono i messaggi in ingresso trasmessi tramite interfaccia. Nota: I messaggi in ingresso tramite l'interfaccia IOneWayAsync possono andare persi perché l'interfaccia viene usata per i canali del datagramma non transazionale.
Interfaccia IOneWayAsyncTxn Viene utilizzata per gli indirizzi di ricezione transazionali unidirezionali WCF-NetMsmq. L'adapter WCF elabora in modo asincrono i messaggi in ingresso trasmessi tramite interfaccia.
Classe BizTalkServiceInstance Implementa i contratti di servizio utilizzati dagli adapter WCF per ricevere i messaggi in ingresso. Gli adapter WCF creano un oggetto servizio ServiceHost e singleton separato di questa classe per ogni percorso di ricezione per gestire le richieste client per la durata dell'istanza di Host BizTalk che esegue percorsi di ricezione WCF. L'oggetto servizio usa più thread per elaborare i messaggi contemporaneamente, a meno che non vengano utilizzati i percorsi di ricezione WCF-NetMsmq con la proprietà di elaborazione Ordered selezionata.
  • Gli adapter WCF scelgono uno dei contratti di servizio WCF per ricevere i messaggi in base allo stack di canali configurato negli indirizzi di ricezione WCF.

    Nota

    Per gli adapter WCF standard, lo stack di canali viene automaticamente configurato dalle proprietà di configurazione WCF degli indirizzi di ricezione.

    Per determinare quale contratto di servizio utilizzare, gli adapter WCF richiamano il metodo Binding.CanBuildChannelListener con IReplyChannel, IReplySessionChannel e IDuplexSessionChannel sull'associazione per i percorsi di ricezione WCF. Se una delle chiamate al metodo restituisce true, i contratti di servizio a partire da ITwoWayAsync vengono usati per garantire il recapito at-least-once. In caso contrario, i contratti di servizio a partire da IOneWayAsync vengono usati per ricevere messaggi. Gli adattatori WCF scelgono quindi i contratti di servizio che terminano con Txn per i casi seguenti:

    • TransactionFlowBindingElement viene aggiunto allo stack di canali in cui è abilitato il flusso di transazione.

    • MsmqTransportBindingElement viene aggiunto allo stack di canali, di cui la proprietà ExactlyOnce è impostata su true.

    • Un elemento di associazione che implementa ITransactedBindingElement viene aggiunto all'associazione, di cui la proprietà TransactedReceiveEnabled è impostata su true.

  • Se viene aggiunto OneWayBindingElement per un percorso di ricezione della richiesta-risposta WCF, i messaggi in arrivo tramite i percorsi di ricezione possono essere persi perché OneWayBindingElement genera una risposta fittizia immediatamente prima di inviare i messaggi agli adapter WCF.

Vedere anche

Classe ServiceHostBinding.CanBuildChannelListenerIReplyChannel Interface IReplySessionChannelInterface IDuplexSessionChannel InterfaceTransactionFlowBindingElement ClassMsmqTransportBindingElementITransactedBindingElement InterfaceITransactedBindingElement.TransactedReceiveEnabled PropertyOneWayBindingElement Class