IEnlistmentNotification.InDoubt(Enlistment) Metoda

Definicja

Powiadamia o obiekcie wymienionym, że stan transakcji jest wątpliwy.

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

Parametry

enlistment
Enlistment

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

Uwagi

Ta metoda jest wywoływana dla nietrwałych zasobów, gdy menedżer transakcji wywołał operację zatwierdzania pojedynczej fazy do pojedynczego zasobu trwałego, a następnie połączenie z zasobem trwałym zostało utracone przed uzyskaniem wyniku transakcji. W tym momencie nie można bezpiecznie określić wyniku transakcji.

Ponieważ InDoubt uważa się, że jest to stan końcowy transakcji, nie należy wywoływać Commit ani Rollback po wywołaniu metody InDoubt.

Uwaga

Implementacja tej metody dla nietrwałego zasobu powinna wykonać operację odzyskiwania lub powstrzymywania, która jest zrozumiała dla danych, których dotyczy problem. Po zakończeniu pracy metoda musi również wywołać metodę Done na obiekcie 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ł InDoubt 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