語言

IEnlistmentNotification.Rollback(Enlistment) 方法

定義

通知一個已登記的物件,交易正在回滾(中止)。

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)

參數

enlistment
Enlistment

一個 Enlistment 用來向交易管理器發送回應的物件。

備註

當交易因一個或多個交易參與者無法提交交易而被回滾(中止)時,交易管理器會呼叫此登錄物件的方法。

資源管理器應執行完成交易所需的工作,然後透過呼叫 Done 參數上的方法 enlistment 通知 TM 已完成。

若資源管理器已持續登錄,但未以呼叫 Done 方式回應,交易管理器不確定資源管理器是否已接收呼叫 Rollback 。 因此,交易管理器會持續等待回應,並保存與本交易相關的資訊。 若 Done 從未被呼叫,該資訊將無限期保存在記憶體或系統整體資源中。 這導致資源無法回收。 在分散式交易中,這最終可能填滿 MSDTC 日誌,導致 MSDTC 程序中止。 若交易由 管理 System.Transactions,會導致資源管理器程序的記憶體消耗逐漸且持續增加。 因此,當您的資源經理完成您的準備工作後,務必致電該 Done 服務。

適用於