SqlConnection.EnlistDistributedTransaction(ITransaction) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se inscribe 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 un existente ITransaction en el que se va a inscribir.
Comentarios
Puede usar el EnlistTransaction método para inscribirse en una transacción distribuida. Dado que inscribe 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 propósito. Para obtener más información, consulte Transacciones distribuidas.
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 se 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 aviso de que la transacción local se revierte y que es responsable de administrar las transacciones locales que no se han iniciado con BeginTransaction.