OleDbConnection.EnlistDistributedTransaction(ITransaction) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
Novidade no ADO.NET 2.0 é o suporte para usar o método EnlistTransaction 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 EnlistDistributedTransaction método 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. Para mais informações sobre transações distribuídas, consulte Transações Distribuídas.
EnlistDistributedTransaction retorna uma exceção se o OleDbConnection 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 OleDbCommand objeto), EnlistDistributedTransaction reverte a transação local e inscreve-se na transação distribuída existente conforme solicitado. Não receberá notificação de que a transação local foi revertida e é responsável por gerir quaisquer transações locais que não tenham começado a usar BeginTransaction.