通过调用 SetComplete 终止自动事务

若要有效地使用自动事务,每个事务组件应指示已完成工作。 当对象实例成功完成其任务时,应设置其一致和完成标志,方法是调用 IObjectContext::SetComplete 方法,此方法可通过 IObjectContext 接口和 ObjectContext 对象公开。

完成自动事务的最高效方法是使用 SetComplete 方法显式停用根对象。 通过显式指示根对象已完成其工作,可以减少事务的长度。

以下 Visual Basic 示例演示如何指示事务对象已成功完成其工作:

Sub MyObjMethod1()
  Dim ObjCtx As ObjectContext
  Dim InteriorObj1 As Cinterior  ' Cinterior is a user-defined object.

  Set ObjCtx = GetObjectContext()
  Set InteriorObj1 = CreateObject ("MyDll.Cinterior")
  InteriorObj1.Method1
  ' If the call completed successfully, then...
  objCtx.SetComplete
End Sub

一致和完成标志

在 COM+ 中管理自动事务