CommittableTransaction 类

定义

描述可提交的事务。

public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Serializable>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult
继承
CommittableTransaction
属性
实现

注解

CommittableTransaction 类为应用程序使用事务提供了一种显式方法,而不是隐式地使用 TransactionScope 类。 与 TransactionScope 类不同,应用程序编写器需要明确调用 CommitRollback 方法以提交或中止事务。 但是,只有事务的创建者才能提交事务。 因此,通过 Transaction.Clone 方法获取的可提交事务的副本不可提交。

注意

建议使用 TransactionScope 类创建隐式事务,以便自动管理环境事务上下文。 对于需要跨多个函数调用或多个线程调用使用同一事务的应用程序,还应使用 TransactionScopeDependentTransaction 类。 有关此模型的详细信息,请参阅 使用事务范围实现隐式事务 主题。

CommittableTransaction创建 不会自动设置环境事务,即代码在其中执行的事务。 可以通过调用全局Transaction对象的静态Transaction.Current属性来获取或设置环境事务。 有关环境事务的详细信息,请参阅使用事务 范围实现隐式事务 主题的“使用 TransactionScopeOption 管理事务流”部分。 如果未设置环境事务,则资源管理器上的任何操作都不是该事务的一部分。 需要显式设置和重置环境事务,以确保资源管理器在正确的事务上下文下运行。

CommittableTransaction在提交 之前,与事务相关的所有资源仍会锁定。

CommittableTransaction 对象不能被重用。 提交或回滚后,它不能在事务中再次使用,也不能将其设置为当前环境事务上下文。

构造函数

CommittableTransaction()

初始化 CommittableTransaction 类的新实例。

CommittableTransaction(TimeSpan)

使用指定的 timeout 值初始化 CommittableTransaction 类的新实例。

CommittableTransaction(TransactionOptions)

使用指定的事务选项初始化 CommittableTransaction 类的新实例。

属性

IsolationLevel

获取事务的隔离级别。

(继承自 Transaction)
PromoterType

对提升事务时由 Promote 方法返回的 byte[] 的格式进行唯一标识。

(继承自 Transaction)
TransactionInformation

检索有关某个事务的附加信息。

(继承自 Transaction)

方法

BeginCommit(AsyncCallback, Object)

开始异步提交事务的尝试。

Clone()

创建事务的克隆。

(继承自 Transaction)
Commit()

尝试提交事务。

DependentClone(DependentCloneOption)

创建事务的依赖复本。

(继承自 Transaction)
Dispose()

释放由该对象占用的资源。

(继承自 Transaction)
EndCommit(IAsyncResult)

结束异步提交事务的尝试。

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

登记支持两阶段提交的持久资源管理器以参与事务。

(继承自 Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

登记支持单阶段提交优化的持久资源管理器以参与事务。

(继承自 Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

对资源管理器进行登记,该资源管理器具有使用可提升的单阶段登记 (PSPE) 的内部事务。

(继承自 Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

对资源管理器进行登记,该资源管理器具有使用可提升的单阶段登记 (PSPE) 的内部事务。

(继承自 Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

登记在事务中支持两阶段提交参与的易失性资源管理器。

(继承自 Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

登记支持单阶段提交优化的可变资源管理器以参与事务。

(继承自 Transaction)
Equals(Object)

确定此事务和指定的对象是否相等。

(继承自 Transaction)
GetHashCode()

返回此实例的哈希代码。

(继承自 Transaction)
GetPromotedToken()

获取 byte[] 在提升事务时由 方法返回 Promote 的 。

(继承自 Transaction)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

提升和登记支持两阶段提交的持久资源管理器以参与事务。

(继承自 Transaction)
Rollback()

回滚(中止)事务。

(继承自 Transaction)
Rollback(Exception)

回滚(中止)事务。

(继承自 Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

设置由非 MSDTC 提升程序生成的分布式事务标识符。

(继承自 Transaction)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

事件

TransactionCompleted

指示事务已完成。

(继承自 Transaction)

显式接口实现

IAsyncResult.AsyncState

获取作为 BeginCommit(AsyncCallback, Object) 方法调用的最后一个参数而提供的对象。

IAsyncResult.AsyncWaitHandle

获取用于等待异步操作完成的 WaitHandle

IAsyncResult.CompletedSynchronously

获取异步提交操作是否同步完成的指示。

IAsyncResult.IsCompleted

获取异步提交操作是否已完成的指示。

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

获取含有序列化此事务所需要的数据的 SerializationInfo

(继承自 Transaction)

适用于

线程安全性

此类型是线程安全的。

另请参阅