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'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.Transactionscoinvolge 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.Transactionspuò comunque inoltrare la gestione della transazione a MSDTC. In questo modo si riduce ulteriormente la possibilità di usare MSDTC.