Share via


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 物件,用來傳送回應給交易管理員。

備註

交易管理員會在交易復原 (中止) 因為一或多個交易參與者無法認可交易,而呼叫登錄物件的這個方法。

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

如果資源管理員已永久登記,但未透過呼叫 Done 方法來回應,交易管理員不確定資源管理員已 Rollback 收到呼叫。 因此,交易管理員會持續等候回應,並維護與此交易相關的資訊。 如果 Done 從未呼叫,這項資訊會無限期地保留在記憶體或全系統資源中。 這會導致資源無法回收。 在分散式交易的情況下,這最終可能會填入 MSDTC 記錄檔,以停止 MSDTC 程式。 在 所 System.Transactions 管理的交易案例中,這會導致資源管理員進程的記憶體耗用量逐漸增加且持續增加。 因此,當您的資源管理員完成準備工作時,請務必呼叫 Done 方法。

適用於