SqlConnection.EnlistDistributedTransaction(ITransaction) Método

Definição

Inscrição na transação especificada como uma transação distribuída.

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

Uma referência a um existente ITransaction no qual se inscrever.

Comentários

Você pode usar o EnlistTransaction método para se inscrever em uma transação distribuída. Como ele insira uma conexão em uma Transaction instância, o EnlistTransaction aproveita a funcionalidade disponível no System.Transactions namespace para gerenciar transações distribuídas, tornando-a preferível a EnlistDistributedTransaction para essa finalidade. Para obter mais informações, consulte Transações Distribuídas.

Você pode continuar a se inscrever em uma transação distribuída existente usando o método EnlistDistributedTransaction se a inscrição automática estiver desabilitada. A inscrição em uma transação distribuída existente garante que, se a transação for confirmada ou revertida, as modificações feitas pelo código na fonte de dados também sejam confirmadas ou revertidas.

EnlistDistributedTransaction retornará uma exceção se já SqlConnection tiver iniciado uma transação usando BeginTransaction. No entanto, se a transação for uma transação local iniciada na fonte de dados (por exemplo, executando explicitamente a instrução BEGIN TRANSACTION usando um SqlCommand objeto), EnlistDistributedTransaction reverterá a transação local e se inscreverá na transação distribuída existente, conforme solicitado. Você não recebe a notificação de que a transação local foi revertida e é responsável pelo gerenciamento de transações locais que não foram iniciadas.BeginTransaction

Aplica-se a

Confira também