語言

IEnlistmentNotification.Commit(Enlistment) 方法

定義

通知一個已登記的物件交易正在提交。

public:
 void Commit(System::Transactions::Enlistment ^ enlistment);
public void Commit(System.Transactions.Enlistment enlistment);
abstract member Commit : System.Transactions.Enlistment -> unit
Public Sub Commit (enlistment As Enlistment)

參數

enlistment
Enlistment

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

備註

交易管理器在承諾的第二階段呼叫此綁定物件的方法,當時它指示所有參與者提交交易。

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

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

適用於