IEnlistmentNotification.Prepare(PreparingEnlistment) Метод

Определение

Уведомляет о том, что транзакция готовится к обязательству.

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)

Параметры

preparingEnlistment
PreparingEnlistment

PreparingEnlistment Объект, используемый для отправки ответа диспетчеру транзакций.

Комментарии

Диспетчер транзакций вызывает этот метод завербованного диспетчера ресурсов на этапе 1 обязательства, когда спрашивает участников, может ли он зафиксировать транзакцию.

При реализации устойчивого диспетчера ресурсов необходимо записать запись подготовки на этом этапе. Запись должна содержать все необходимые сведения для выполнения восстановления. Это включает RecoveryInformation() свойство, которое передается диспетчеру транзакций в Reenlist методе во время восстановления.

Диспетчер ресурсов должен завершить всю работу, которая должна быть завершена перед вызовом Prepared метода preparingEnlistment параметра, чтобы указать свое голосование за обязательство. Перед получением любого уведомления на этапе 2, например фиксации, отката или сомнения, необходимо убедиться, что это сделано. Это связано с тем, что уведомления этапа 2 могут выполняться в одном потоке, который вызвал метод на Prepared этапе 1. Таким образом, вы не должны выполнять никаких действий после Prepared вызова (например, освобождение блокировок), которые вы ожидаете завершить до получения уведомлений этапа 2.

Можно также вызвать метод preparingEnlistment параметра, чтобы указать голос за откат.

Если вы хотите, чтобы объект просто наблюдал и реагировал на ход выполнения транзакции, не участвуя в нем, реализация этого метода должна вызывать Done метод preparingEnlistment параметра, когда он завершил работу. Таким образом, диспетчер ресурсов не получит никаких уведомлений на этапе 2.

Применяется к