SqlConnection.EnlistDistributedTransaction(ITransaction) Metodo

Definizione

Permette l'integrazione nella transazione specificata come transazione distribuita.

public:
 void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ transaction);
public void EnlistDistributedTransaction (System.EnterpriseServices.ITransaction transaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (transaction As ITransaction)

Parametri

transaction
ITransaction

Riferimento a un oggetto ITransaction esistente in cui eseguire l'integrazione.

Commenti

È possibile usare il EnlistTransaction metodo per inserire in una transazione distribuita. Poiché inserisce una connessione in un'istanza TransactionSystem.Transactions, EnlistTransaction sfrutta le funzionalità disponibili nello spazio dei nomi per la gestione delle transazioni distribuite, rendendo preferibile a EnlistDistributedTransaction per questo scopo. Per altre informazioni, vedere Transazioni distribuite.

È possibile continuare a inserire in una transazione distribuita esistente usando il metodo EnlistDistributedTransaction se l'inserimento automatico è disabilitato. L'inserimento in una transazione distribuita esistente assicura che, se la transazione viene eseguita il commit o il rollback, le modifiche apportate dal codice all'origine dati vengono eseguite anche con commit o rollback.

EnlistDistributedTransaction restituisce un'eccezione se l'oggetto SqlConnection ha già avviato una transazione usando BeginTransaction. Tuttavia, se la transazione è una transazione locale avviata all'origine dati (ad esempio eseguendo in modo esplicito l'istruzione BEGIN TRANSACTION usando un SqlCommand oggetto), EnlistDistributedTransaction esegue il rollback della transazione locale e viene inserita nella transazione distribuita esistente come richiesto. Non si riceve l'avviso che la transazione locale è stata eseguito il rollback e che è responsabile della gestione di eventuali transazioni locali non avviate tramite BeginTransaction.

Si applica a

Vedi anche