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 階段通知可能會內嵌在第 1 階段中呼叫 Prepared 方法的相同執行緒上。 因此,當您預期在收到第二階段告知之前會完成 Prepared 呼叫時,請勿在此呼叫之後執行任何工作 (例如,釋放鎖定)。

您也可以呼叫 參數的 preparingEnlistment 方法,以指出回復的投票。

如果您想要讓物件只觀察並回應交易的進度,而不參與交易,則此方法的實作應該在完成其工作時呼叫 Done 參數的 preparingEnlistment 方法。 如此一來,您的資源管理員就不會收到任何階段 2 通知。

適用於