SqlConnection.EnlistDistributedTransaction(ITransaction) Metodo

Definizione

Integra la 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 esistente ITransaction in cui eseguire l'integrazione.

Commenti

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

È possibile continuare a eseguire l'integrazione in una transazione distribuita esistente usando il metodo EnlistDistributedTransaction se l'integrazione automatica è disabilitata. L'integrazione in una transazione distribuita esistente assicura che, se viene eseguito il commit o il rollback della transazione, viene eseguito anche il commit o il rollback delle modifiche apportate dal codice nell'origine dati.

EnlistDistributedTransaction restituisce un'eccezione se l'oggetto SqlConnection ha già avviato una transazione utilizzando BeginTransaction. Tuttavia, se la transazione è una transazione locale avviata nell'origine dati , ad esempio eseguendo in modo esplicito l'istruzione BEGIN TRANSACTION usando un SqlCommand oggetto , EnlistDistributedTransaction esegue il rollback della transazione locale ed esegue l'integrazione nella transazione distribuita esistente come richiesto. Non si riceve alcuna notifica che è stato eseguito il rollback della transazione locale e sono responsabili della gestione di eventuali transazioni locali non avviate tramite BeginTransaction.

Si applica a

Vedi anche