Compartir a través de


SqlConnection.EnlistDistributedTransaction(ITransaction) Método

Definición

Se da de alta en la transacción especificada como una transacción distribuida.

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.

Comentarios

Puede usar el EnlistTransaction método para inscribirse en una transacción distribuida. 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 transacciones distribuidas, lo que hace que sea preferible a EnlistDistributedTransaction para este fin. Vea Transacciones distribuidas para obtener más información.

Puede continuar con la inscripción en una transacción distribuida existente mediante el método EnlistDistributedTransaction si la inscripción automática está deshabilitada. La inscripción en una transacción distribuida existente garantiza que, si la transacción se confirma o revierte, las modificaciones realizadas por el código en el origen de datos también se confirman o se revierten.

EnlistDistributedTransaction devuelve una excepción si SqlConnection ya ha iniciado una transacción mediante BeginTransaction. Sin embargo, si la transacción es una transacción local iniciada en el origen de datos (por ejemplo, ejecutando explícitamente la instrucción BEGIN TRANSACTION mediante un SqlCommand objeto), EnlistDistributedTransaction revierte la transacción local y se inscribe en la transacción distribuida existente según se solicite. No recibe un aviso de que la transacción local se revierte y es responsable de administrar las transacciones locales que no se han iniciado con BeginTransaction.

Se aplica a