System.Transactions Spazio dei nomi

Contiene classi che consentono di scrivere un gestore personalizzato di risorse e applicazioni transazionali. In particolare, è possibile creare una transazione (locale o distribuita) e prendervi parte con uno o più partecipanti.

Classi

CommittableTransaction

Descrive una transazione di cui è possibile eseguire il commit.

DependentTransaction

Descrive un duplicato di una transazione che garantisce che non può essere eseguito il commit della transazione fino a quando nell'applicazione non si completano le operazioni relative alla transazione. La classe non può essere ereditata.

DistributedTransactionPermission

Autorizzazione richiesta da System.Transactions durante l'escalation del livello di gestione di una transazione a MSDTC. La classe non può essere ereditata.

DistributedTransactionPermissionAttribute

Consente di applicare azioni di sicurezza per DistributedTransactionPermission al codice usando la sicurezza dichiarativa. La classe non può essere ereditata.

Enlistment

Facilita la comunicazione tra un partecipante alla transazione integrato e la gestione transazioni durante la fase finale della transazione.

PreparingEnlistment

Facilita la comunicazione tra un partecipante alla transazione integrato e la gestione transazioni durante la fase di preparazione della transazione.

SinglePhaseEnlistment

Fornisce un insieme di callback che facilitano la comunicazione tra un partecipante inserito nell'elenco per il commit a una fase e la gestione transazioni quando viene ricevuta la notifica di SinglePhaseCommit(SinglePhaseEnlistment).

SubordinateTransaction

Rappresenta una transazione che non contiene una radice che può essere delegata. La classe non può essere ereditata.

Transaction

Rappresenta una transazione.

TransactionAbortedException

Eccezione generata quando si è tentato di eseguire un'operazione in una transazione di cui è già stato eseguito il rollback oppure si è tentato di eseguire il commit della transazione e la transazione si interrompe.

TransactionEventArgs

Fornisce i dati per i seguenti eventi di transazione: DistributedTransactionStarted e TransactionCompleted.

TransactionException

Eccezione generata quando si tenta di operare in una transazione che non può accettare nuove operazioni.

TransactionInDoubtException

Eccezione generata quando viene tentata un'operazione su una transazione in dubbio oppure quando si tenta di eseguire il commit della transazione e questa diventa InDoubt.

TransactionInformation

Fornisce informazioni aggiuntive su una transazione.

TransactionInterop

Facilita l'interazione tra System.Transactions e i componenti che sono stati precedentemente scritti per interagire con MSDTC, COM+ o System.EnterpriseServices. La classe non può essere ereditata.

TransactionManager

Contiene i metodi utilizzati per la gestione delle transazioni. La classe non può essere ereditata.

TransactionManagerCommunicationException

Eccezione generata quando un gestore delle risorse non è in grado di comunicare con il gestore delle transazioni.

TransactionPromotionException

Eccezione generata quando una promozione ha esito negativo.

TransactionScope

Rende transazionale un blocco di codice. La classe non può essere ereditata.

Struct

TransactionOptions

Contiene informazioni aggiuntive che specificano i comportamenti di una transazione.

Interfacce

IDtcTransaction

Descrive una transazione DTC.

IEnlistmentNotification

Descrive un'interfaccia che un gestore di risorse deve implementare per fornire i callback di notifica commit a due fasi per la gestione delle transazioni in seguito all'integrazione per la partecipazione.

IPromotableSinglePhaseNotification

Descrive un oggetto che svolge la funzione di delegato di commit per una transazione non distribuita interna a una gestione risorse.

ISimpleTransactionSuperior

Rappresenta una transazione non di primo livello, ma di cui è possibile eseguire l'escalation per consentirne la gestione mediante MSDTC.

ISinglePhaseNotification

Descrive un oggetto risorsa che supporta l'ottimizzazione mediante commit monofase per partecipare a una transazione.

ITransactionPromoter

Descrive una transazione delegata di una transazione esistente di cui è possibile eseguire l'escalation per consentirne la gestione mediante MSDTC, se necessario.

Enumerazioni

DependentCloneOption

Determina il tipo di transazione dipendente da creare.

EnlistmentOptions

Determina se l'oggetto deve essere integrato durante la fase di preparazione.

EnterpriseServicesInteropOption

Specifica il modo in cui le transazioni distribuite interagiscono con le transazioni COM+.

IsolationLevel

Specifica il livello di isolamento di una transazione.

TransactionScopeAsyncFlowOption

Specifica se il flusso delle transazioni tra le continuazioni di thread è attivato per TransactionScope .

TransactionScopeOption

Fornisce opzioni aggiuntive per la creazione dell'ambito di una transazione.

TransactionStatus

Descrive lo stato corrente di una transazione distribuita.

Delegati

HostCurrentTransactionCallback

Fornisce un meccanismo affinché l'ambiente di hosting specifichi una propria nozione predefinita di Current.

TransactionCompletedEventHandler

Rappresenta il metodo che gestisce l'evento TransactionCompleted di una classe Transaction.

TransactionStartedEventHandler

Rappresenta il metodo che gestirà l'evento DistributedTransactionStarted di una classe TransactionManager.

Commenti

L'infrastruttura System.Transactions rende la programmazione transazionale semplice ed efficiente in tutta la piattaforma supportando le transazioni avviate in SQL Server, ADO.NET, MSMQ e Microsoft Distributed Transaction Coordinator (MSDTC). Fornisce sia un modello di programmazione esplicito basato sulla Transaction classe, sia un modello di programmazione implicito usando la TransactionScope classe , in cui le transazioni vengono gestite automaticamente dall'infrastruttura. È consigliabile usare il modello implicito più semplice per lo sviluppo. Per iniziare, vedere l'argomento Implementazione di una transazione implicita tramite ambito transazione . Per altre informazioni sulla scrittura di un'applicazione transazionale, vedere Scrittura di un'applicazione transazionale.

System.Transactions fornisce anche tipi per l'implementazione di un gestore risorse. Il gestore delle transazioni nativo dell'infrastruttura System.Transactions consente alle risorse volatili o a una singola risorsa durevole di eseguire il commit o il rollback in modo efficiente. Per altre informazioni sull'implementazione di un resource manager, vedere Implementazione di un Resource Manager.

Il gestore delle transazioni esegue anche l'escalation trasparente delle transazioni locali alle transazioni distribuite coordinando tramite un gestore transazioni basato su disco come il DTC, quando un gestore risorse durevole aggiuntivo si integra con una transazione. Di base l'infrastruttura System.Transactions utilizza due meccanismi per ottimizzare le prestazioni:

  • Escalation dinamica, il che significa che l'infrastruttura System.Transactions interagisce solo con MSDTC quando è effettivamente necessaria per una transazione. Questa area è descritta in dettaglio nell'argomento Escalation di gestione delle transazioni .

  • PSPE, che consente a una risorsa, ad esempio un database, di assumere la proprietà della transazione se è l'unica entità a parteciparvi. In seguito, se necessario, l'infrastruttura System.Transactions può comunque inoltrare la gestione della transazione a MSDTC. Ciò consente di ridurre ulteriormente le probabilità di utilizzo del gestore MSDTC. Questa area è descritta in dettaglio nell'argomento Ottimizzazione con commit a fase singola e notifica a fase singola promuovibile .

Per altre informazioni su come usare lo System.Transactions spazio dei nomi , vedere Elaborazione delle transazioni.