Condividi tramite


Modelli di transazione

Questo articolo descrive la relazione tra i modelli di programmazione delle transazioni e i componenti dell'infrastruttura forniti da Microsoft.

Quando si usano transazioni in Windows Communication Foundation (WCF), è importante comprendere che non si sta selezionando tra modelli transazionali diversi, ma operando a livelli diversi di un modello integrato e coerente.

Le sezioni seguenti descrivono i tre componenti principali delle transazioni.

Transazioni di Windows Communication Foundation

Il supporto delle transazioni in WCF consente di scrivere servizi transazionali. Inoltre, con il supporto per il protocollo WS-AtomicTransaction (WS-AT), le applicazioni possono indirizzare le transazioni ai servizi Web costruiti utilizzando WCF o tecnologia di terze parti.

In un servizio o un'applicazione WCF, le funzionalità delle transazioni WCF forniscono attributi e configurazione per specificare in modo dichiarativo come e quando l'infrastruttura deve creare, scorrere e sincronizzare le transazioni.

Transazioni System.Transactions

Lo System.Transactions spazio dei nomi fornisce sia un modello di programmazione esplicito basato sulla Transaction classe , sia un modello di programmazione implicito usando la TransactionScope classe , in cui l'infrastruttura gestisce automaticamente le transazioni.

Per altre informazioni su come creare un'applicazione transazionale usando questi due modelli, vedere Scrittura di un'applicazione transazionale.

In un servizio o un'applicazione WCF fornisce System.Transactions il modello di programmazione per la creazione di transazioni all'interno di un'applicazione client e per interagire in modo esplicito con una transazione, se necessario, all'interno di un servizio.

Transazioni MSDTC

Microsoft Distributed Transaction Coordinator (MSDTC) è un gestore transazioni che fornisce supporto per le transazioni distribuite.

Per altre informazioni, vedere la Guida di riferimento per programmatori DTC.

In un servizio o un'applicazione WCF, MSDTC fornisce l'infrastruttura per il coordinamento delle transazioni create all'interno di un client o di un servizio.