System.Transactions Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.