SqlConnection.EnlistDistributedTransaction(ITransaction) Método

Definição

Inscreve-se 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 uma existência ITransaction onde se alistar.

Observações

Pode usar o EnlistTransaction método para se inscrever numa transação distribuída. Como inscreve uma ligação numa Transaction instância, o EnlistTransaction aproveita a funcionalidade disponível no System.Transactions namespace para gerir transações distribuídas, tornando-o preferível ao EnlistDistributedTransaction para esse fim. Para mais informações, consulte Transações Distribuídas.

Pode continuar a inscrever-se numa transação distribuída existente usando o método EnlistDistributedTransaction se o auto-enlistamento estiver desativado. Inscrever-se numa transação distribuída existente garante que, se a transação for comprometida ou revertida, as modificações feitas pelo código na fonte de dados também sejam comprometidas ou revertidas.

EnlistDistributedTransaction retorna uma exceção se o SqlConnection já tiver iniciado uma transação usando BeginTransaction. No entanto, se a transação for local iniciada na fonte de dados (por exemplo, executando explicitamente a instrução BEGIN TRANSACTION usando um SqlCommand objeto), o EnlistDistributedTransaction reverte a transação local e inscreve-se na transação distribuída existente conforme solicitado. Não recebe notificação de que a transação local foi revertida, sendo responsável por gerir quaisquer transações locais que não tenham começado a usar BeginTransaction.

Aplica-se a

Ver também