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 方法至关重要。

适用于