CommittableTransaction 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
描述可提交的事务。
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
类为应用程序使用事务提供了一种显式方法,而不是隐式地使用 TransactionScope 类。 与 TransactionScope 类不同,应用程序编写器需要明确调用 Commit 和 Rollback 方法以提交或中止事务。 但是,只有事务的创建者才能提交事务。 因此,通过 Transaction.Clone 方法获取的可提交事务的副本不可提交。
注意
建议使用 TransactionScope 类创建隐式事务,以便自动管理环境事务上下文。 对于需要跨多个函数调用或多个线程调用使用同一事务的应用程序,还应使用 TransactionScope 和 DependentTransaction 类。 有关此模型的详细信息,请参阅 使用事务范围实现隐式事务 主题。
CommittableTransaction创建 不会自动设置环境事务,即代码在其中执行的事务。 可以通过调用全局Transaction对象的静态Transaction.Current属性来获取或设置环境事务。 有关环境事务的详细信息,请参阅使用事务 范围实现隐式事务 主题的“使用 TransactionScopeOption 管理事务流”部分。 如果未设置环境事务,则资源管理器上的任何操作都不是该事务的一部分。 需要显式设置和重置环境事务,以确保资源管理器在正确的事务上下文下运行。
CommittableTransaction在提交 之前,与事务相关的所有资源仍会锁定。
CommittableTransaction 对象不能被重用。 提交或回滚后,它不能在事务中再次使用,也不能将其设置为当前环境事务上下文。
构造函数
CommittableTransaction() |
初始化 CommittableTransaction 类的新实例。 |
CommittableTransaction(TimeSpan) |
使用指定的 |
CommittableTransaction(TransactionOptions) |
使用指定的事务选项初始化 CommittableTransaction 类的新实例。 |
属性
IsolationLevel |
获取事务的隔离级别。 (继承自 Transaction) |
PromoterType |
对提升事务时由 Promote 方法返回的 |
TransactionInformation |
检索有关某个事务的附加信息。 (继承自 Transaction) |
方法
事件
TransactionCompleted |
指示事务已完成。 (继承自 Transaction) |
显式接口实现
IAsyncResult.AsyncState |
获取作为 BeginCommit(AsyncCallback, Object) 方法调用的最后一个参数而提供的对象。 |
IAsyncResult.AsyncWaitHandle |
获取用于等待异步操作完成的 WaitHandle。 |
IAsyncResult.CompletedSynchronously |
获取异步提交操作是否同步完成的指示。 |
IAsyncResult.IsCompleted |
获取异步提交操作是否已完成的指示。 |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
获取含有序列化此事务所需要的数据的 SerializationInfo 。 (继承自 Transaction) |
适用于
线程安全性
此类型是线程安全的。