Udostępnij za pośrednictwem


IEnlistmentNotification.Prepare(PreparingEnlistment) Metoda

Definicja

Powiadamia obiekt z listy, że transakcja jest przygotowywana do zobowiązania.

public:
 void Prepare(System::Transactions::PreparingEnlistment ^ preparingEnlistment);
public void Prepare (System.Transactions.PreparingEnlistment preparingEnlistment);
abstract member Prepare : System.Transactions.PreparingEnlistment -> unit
Public Sub Prepare (preparingEnlistment As PreparingEnlistment)

Parametry

preparingEnlistment
PreparingEnlistment

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

Uwagi

Menedżer transakcji wywołuje tę metodę menedżera zasobów wymienionego w fazie 1 zobowiązania, gdy pyta uczestników, czy mogą zatwierdzić transakcję.

Podczas implementowania trwałego menedżera zasobów należy zarejestrować rekord przygotowywania w tej fazie. Rekord powinien zawierać wszystkie informacje niezbędne do przeprowadzenia odzyskiwania. Obejmuje RecoveryInformation to właściwość, która jest przekazywana do menedżera transakcji w metodzie Reenlist podczas odzyskiwania. Aby uzyskać więcej informacji na temat odzyskiwania, zobacz Wykonywanie odzyskiwania.

Menedżer zasobów powinien wykonać całą pracę, która musi zostać zakończona przed wywołaniem Prepared metody parametru preparingEnlistment , aby wskazać jego głos na zobowiązanie. Przed otrzymaniem jakichkolwiek powiadomień fazy 2, takich jak zatwierdzenie, wycofanie lub wątpliwości, upewnij się, że jest to realizowane. Wynika to z tego, że powiadomienia fazy 2 mogą odbywać się w tekście w tym samym wątku, który nazwał metodę Prepared w fazie 1. W związku z tym nie należy wykonywać żadnej pracy po Prepared wywołaniu (na przykład zwalnianiu blokad), które powinny zostać ukończone przed otrzymaniem powiadomień fazy 2.

Możesz również wywołać metodę parametru, preparingEnlistment aby wskazać głosowanie na wycofanie.

Jeśli chcesz, aby obiekt jedynie obserwować postęp transakcji i reagować na nie, bez udziału w niej, implementacja tej metody powinna wywołać Done metodę parametru preparingEnlistment po zakończeniu jego pracy. Dzięki temu menedżer zasobów nie otrzyma żadnego powiadomienia fazy 2.

Dotyczy