OleDbConnection.EnlistDistributedTransaction(ITransaction) Método

Definición

Se da de alta en la transacción especificada como una transacción distribuida.Enlists in the specified transaction as a distributed transaction.

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)

Parámetros

transaction
ITransaction

Referencia a una transacción ITransaction existente en la que se va a dar de alta.A reference to an existing ITransaction in which to enlist.

Comentarios

La novedad de ADO.NET 2,0 es la compatibilidad con el uso del EnlistTransaction método para dar de alta en una transacción distribuida.New in ADO.NET 2.0 is support for using the EnlistTransaction method to enlist in a distributed transaction. Dado que da de alta una conexión en una Transaction instancia, EnlistTransaction aprovecha la funcionalidad disponible en el System.Transactions espacio de nombres para administrar las transacciones distribuidas, lo que hace que sea preferible a EnlistDistributedTransaction para este propósito.Because it enlists a connection in a Transaction instance, EnlistTransaction takes advantage of functionality available in the System.Transactions namespace for managing distributed transactions, making it preferable to EnlistDistributedTransaction for this purpose. Vea Transacciones distribuidas para obtener más información.For more information, see Distributed Transactions.

Puede seguir dando de alta en una transacción distribuida existente mediante el EnlistDistributedTransaction método si la inscripción automática está deshabilitada.You can continue to enlist in an existing distributed transaction using the EnlistDistributedTransaction method if auto-enlistment is disabled. La inscripción en una transacción distribuida existente garantiza que, si la transacción se confirma o se revierte, también se confirmarán o revertirán las modificaciones realizadas por el código en el origen de datos.Enlisting in an existing distributed transaction makes sure that, if the transaction is committed or rolled back, modifications made by the code at the data source are also committed or rolled back. Para obtener más información acerca de las transacciones distribuidas, consulte transacciones distribuidas.For more information about distributed transactions, see Distributed Transactions.

EnlistDistributedTransaction Devuelve una excepción si OleDbConnection ya ha iniciado una transacción mediante BeginTransaction .EnlistDistributedTransaction returns an exception if the OleDbConnection has already started a transaction using BeginTransaction. Sin embargo, si la transacción es una transacción local iniciada en el origen de datos (por ejemplo, al ejecutar explícitamente la instrucción BEGIN TRANSACTION mediante un OleDbCommand objeto), EnlistDistributedTransaction revierte la transacción local y se da de alta en la transacción distribuida existente según se solicite.However, if the transaction is a local transaction started at the data source (for example, by explicitly executing the BEGIN TRANSACTION statement using an OleDbCommand object), EnlistDistributedTransaction rolls back the local transaction and enlists in the existing distributed transaction as requested. No recibirá ningún aviso de que la transacción local se revirtió y es responsable de administrar las transacciones locales no iniciadas con BeginTransaction .You won't receive notice that the local transaction was rolled back and are responsible for managing any local transactions not started using BeginTransaction.

Se aplica a