Język

IEnlistmentNotification.Rollback(Enlistment) Metoda

Definicja

Powiadamia obiekt z listy, że transakcja jest cofana (przerwana).

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 enlisted, gdy transakcja jest cofana (przerwana) z powodu braku możliwości co najmniej jednego uczestnika transakcji zatwierdzenia transakcji.

Menedżer zasobów powinien wykonać każdą pracę niezbędną do zakończenia transakcji, a następnie poinformować TM, że zakończył, wywołując Done metodę 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, ta część informacji jest przechowywana przez czas nieokreślony 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 procesu 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