SqlConnection.EnlistDistributedTransaction(ITransaction) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Enlists w określonej transakcji jako transakcji rozproszonej.
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)
Parametry
- transaction
- ITransaction
Odwołanie do istniejącego ITransaction , w którym należy zarejestrować.
Uwagi
Za pomocą EnlistTransaction metody można zarejestrować się w transakcji rozproszonej. Ponieważ jest on enlista połączenia w Transaction wystąpieniu, EnlistTransaction korzysta z funkcji dostępnych w System.Transactions przestrzeni nazw do zarządzania transakcjami rozproszonymi, co zaleca enlistDistributedTransaction w tym celu. Aby uzyskać więcej informacji, zobacz Transakcje rozproszone.
Możesz kontynuować rejestrowanie w istniejącej transakcji rozproszonej przy użyciu metody EnlistDistributedTransaction , jeśli automatyczne rejestrowanie jest wyłączone. Rejestrowanie w istniejącej transakcji rozproszonej gwarantuje, że jeśli transakcja zostanie zatwierdzona lub wycofana, modyfikacje wprowadzone przez kod w źródle danych również zostaną zatwierdzone lub wycofane.
EnlistDistributedTransaction
zwraca wyjątek, jeśli SqlConnection transakcja została już uruchomiona przy użyciu polecenia BeginTransaction. Jeśli jednak transakcja jest transakcją lokalną rozpoczętą w źródle danych (na przykład przez jawne wykonanie instrukcji BEGIN TRANSACTION przy użyciu SqlCommand obiektu), EnlistDistributedTransaction wycofa transakcję lokalną i zarejestrowa się w istniejącej transakcji rozproszonej zgodnie z żądaniem. Nie otrzymujesz powiadomienia, że transakcja lokalna została wycofana i jest odpowiedzialna za zarządzanie wszelkimi transakcjami lokalnymi, które nie zostały uruchomione przy użyciu polecenia BeginTransaction.