Udostępnij za pośrednictwem


IEnlistmentNotification.Rollback(Enlistment) Metoda

Definicja

Powiadamia obiekt z listy o wycofaniu transakcji (przerwane).

public:
 void Rollback(System::Transactions::Enlistment ^ enlistment);
public void Rollback (System.Transactions.Enlistment enlistment);
abstract member Rollback : System.Transactions.Enlistment -> unit
Public Sub Rollback (enlistment As Enlistment)

Parametry

enlistment
Enlistment

Enlistment Obiekt używany do wysyłania odpowiedzi do menedżera transakcji.

Uwagi

Menedżer transakcji wywołuje tę metodę obiektu wymienionego, gdy transakcja jest cofana (przerwana) ze względu na niezdolność co najmniej jednego uczestnika transakcji do zatwierdzenia transakcji.

Menedżer zasobów powinien wykonać każdą pracę niezbędną do zakończenia transakcji, a następnie poinformować menedżera zasobów, że zakończył, wywołując metodę Done w parametrze enlistment .

Jeśli menedżer zasobów zarejestrował się trwale, ale nie odpowiada za pomocą metody wywołującej Done , menedżer transakcji nie jest pewien, że menedżer zasobów odebrał Rollback wywołanie. W związku z tym menedżer transakcji czeka na odpowiedź i utrzymuje informacje istotne dla tej transakcji. Jeśli Done nigdy nie jest wywoływana, ten fragment informacji jest przechowywany w pamięci lub w zasobie obejmującym cały system. Powoduje to, że zasoby nie mogą zostać odzyskane. W przypadku transakcji rozproszonej może to ostatecznie wypełnić dziennik MSDTC, który zatrzymuje proces MSDTC. W przypadku transakcji zarządzanej przez System.Transactionsprogram powoduje to stopniowy i ciągły wzrost zużycia pamięci w procesie menedżera zasobów. W związku z tym ważne jest, aby wywołać metodę po zakończeniu Done pracy przy przygotowaniu menedżera zasobów.

Dotyczy