SqlConnection.EnlistDistributedTransaction(ITransaction) Metodo
Definizione
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.
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 integrare una transazione distribuita. Poiché integra una connessione in un'istanza Transaction di , EnlistTransaction sfrutta le funzionalità disponibili nello System.Transactions spazio dei nomi per la gestione delle transazioni distribuite, rendendola preferibile a EnlistDistributedTransaction a questo scopo. Per altre informazioni, vedere Transazioni distribuite.
È possibile continuare a integrare 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 e inserisce nella transazione distribuita esistente come richiesto. Non si riceve un avviso che indica che è stato eseguito il rollback della transazione locale e che sono responsabili della gestione di eventuali transazioni locali non avviate tramite BeginTransaction.