Condividi tramite


System.Transactions Spazio dei nomi

Contiene classi che consentono di scrivere un'applicazione transazionale personalizzata e una gestione risorse. In particolare, è possibile creare e partecipare a una transazione (locale o distribuita) con uno o più partecipanti.

Classi

Nome Descrizione
CommittableTransaction

Descrive una transazione di cui è possibile eseguire il commit.

DependentTransaction

Descrive un clone di una transazione che garantisce che non sia possibile eseguire il commit della transazione fino a quando l'applicazione non viene inattiva per quanto riguarda il lavoro sulla transazione. Questa classe non può essere ereditata.

DistributedTransactionPermission

Autorizzazione richiesta da System.Transactions quando la gestione di una transazione viene inoltrata a MSDTC. Questa classe non può essere ereditata.

DistributedTransactionPermissionAttribute

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

Enlistment

Facilita la comunicazione tra un partecipante della transazione incluso e il gestore transazioni durante la fase finale della transazione.

PreparingEnlistment

Facilita la comunicazione tra un partecipante della transazione incluso e il gestore transazioni durante la fase di preparazione della transazione.

SinglePhaseEnlistment

Fornisce un set di callback che facilitano la comunicazione tra un partecipante inserito per il commit a fase singola e il gestore transazioni quando viene ricevuta la SinglePhaseCommit(SinglePhaseEnlistment) notifica.

SubordinateTransaction

Rappresenta una transazione non rooted che può essere delegata. Questa classe non può essere ereditata.

Transaction

Rappresenta una transazione.

TransactionAbortedException

Eccezione generata quando si tenta di eseguire un'operazione su una transazione di cui è già stato eseguito il rollback oppure viene effettuato un tentativo di commit della transazione e dell'interruzione della transazione.

TransactionEventArgs

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

TransactionException

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

TransactionInDoubtException

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

TransactionInformation

Fornisce informazioni aggiuntive relative a una transazione.

TransactionInterop

Facilita l'interazione tra System.Transactions i componenti e scritti in precedenza per interagire con MSDTC, COM+o System.EnterpriseServices. Questa classe non può essere ereditata.

TransactionManager

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

TransactionManagerCommunicationException

Eccezione generata quando un gestore di risorse non può comunicare con gestione transazioni.

TransactionPromotionException

Eccezione generata quando un'innalzamento di livello ha esito negativo.

TransactionScope

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

Struct

Nome Descrizione
TransactionOptions

Contiene informazioni aggiuntive che specificano i comportamenti delle transazioni.

Interfacce

Nome Descrizione
IDtcTransaction

Descrive una transazione DTC.

IEnlistmentNotification

Descrive un'interfaccia che un gestore risorse deve implementare per fornire callback di notifica del commit in due fasi per il gestore transazioni al momento dell'integrazione per la partecipazione.

IPromotableSinglePhaseNotification

Descrive un oggetto che funge da delegato di commit per una transazione non distribuita interna a un gestore risorse.

ISimpleTransactionSuperior

Rappresenta una transazione che non è una transazione radice, ma può essere inoltrata per essere gestita da MSDTC.

ISinglePhaseNotification

Descrive un oggetto risorsa che supporta l'ottimizzazione del commit a fase singola per partecipare a una transazione.

ITransactionPromoter

Descrive una transazione delegata per una transazione esistente che può essere inoltrata per essere gestita da MSDTC quando necessario.

Enumerazioni

Nome Descrizione
DependentCloneOption

Controlla il tipo di transazione dipendente da creare.

EnlistmentOptions

Determina se l'oggetto deve essere inserito 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 è abilitato per TransactionScope.

TransactionScopeOption

Fornisce opzioni aggiuntive per la creazione di un ambito di transazione.

TransactionStatus

Descrive lo stato corrente di una transazione distribuita.

Delegati

Nome Descrizione
HostCurrentTransactionCallback

Fornisce un meccanismo per l'ambiente di hosting per fornire la propria nozione predefinita di Current.

TransactionCompletedEventHandler

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

TransactionStartedEventHandler

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

Commenti

L'infrastruttura System.Transactions semplifica ed efficiente la programmazione transazionale in tutta la piattaforma supportando le transazioni avviate in SQL Server, ADO.NET, MSMQ e il 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 altre informazioni sulla scrittura di un'applicazione transazionale, vedere Scrittura di un'applicazione transazionale.

System.Transactions fornisce anche tipi per implementare un resource manager. 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.

Il gestore transazioni esegue anche l'escalation trasparente delle transazioni locali alle transazioni distribuite coordinando tramite un gestore transazioni basato su disco come DTC, quando un gestore risorse durevole aggiuntivo si integra con una transazione. Esistono due modi chiave in cui l'infrastruttura System.Transactions offre prestazioni migliorate.

  • Escalation dinamica, il che significa che l'infrastruttura System.Transactions coinvolge solo MSDTC quando è effettivamente necessaria per una transazione.

  • Arruolamenti Promuovibili, che consente a una risorsa, ad esempio un database, di assumere la proprietà della transazione se è l'unica entità che partecipa alla transazione. In un secondo momento, se necessario, l'infrastruttura System.Transactions può comunque inoltrare la gestione della transazione a MSDTC. In questo modo si riduce ulteriormente la possibilità di usare MSDTC.