Transaction 类

事务确保对给储存区做出的更改均被视为可提交或可回滚的组。

继承层次结构

System.Object
  System.MarshalByRefObject
    Microsoft.VisualStudio.Modeling.Transaction

命名空间:  Microsoft.VisualStudio.Modeling
程序集:  Microsoft.VisualStudio.Modeling.Sdk.12.0(在 Microsoft.VisualStudio.Modeling.Sdk.12.0.dll 中)

语法

声明
Public Class Transaction _
    Inherits MarshalByRefObject _
    Implements IDisposable
public class Transaction : MarshalByRefObject, 
    IDisposable

Transaction 类型公开以下成员。

属性

  名称 说明
公共属性 Context 获取事务并使客户将用户数据追加到该事务。
公共属性 ContextInstance 获取此事务的 Context
公共属性 ForceAllRulesToCommitTime 获取或设置强制所有嵌套规则为当前事务发生在 LocalCommit 时的标志。
公共属性 HasPendingChanges 获取事务并验证此事务期间是否对存储区进行更改。
公共属性 HaveCommitTimeRulesFired 指示是否会激活分配时间规则
公共属性 Id 获取此事务的 ID。
公共属性 InRollback 获取事务并验证此事务是否回滚。
公共属性 IsActive 获取事务并验证此事务是否正在进行处理。
公共属性 IsHidden 获取事务并验证该事务是否隐藏。
公共属性 IsNested 获取事务并验证是否可以在另一个事务中嵌套。
公共属性 IsSerializing 获取事务并验证该事务是否当前正在进行序列化。
公共属性 Name 获取或设置事务的名称。
公共属性 Parent 获取分配给嵌套事务的顶级事务。
公共属性 PartitionStates 获取存储器中所有分区的状态信息。
公共属性 SequenceNumber 获取事务的序列号。
公共属性 Store 获取事务所属的存储 。
公共属性 TopLevelTransaction 获取事务层次结构的顶级事务。
公共属性 TransactionDepth 获取该事物嵌套的事务的数目。

页首

方法

  名称 说明
公共方法 Commit 提交事务。
公共方法 CreateObjRef 安全关键。创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。)
公共方法 Dispose 处置事务的状态。
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 Finalize 结束事务。 (重写 Object.Finalize()。)
公共方法 GetHashCode 作为默认哈希函数。 (继承自 Object。)
公共方法 GetLifetimeService 安全关键。检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 InitializeLifetimeService 安全关键。获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
受保护的方法 MemberwiseClone() 创建当前 Object 的浅表副本。 (继承自 Object。)
受保护的方法 MemberwiseClone(Boolean) 创建当前 MarshalByRefObject 对象的浅表副本。 (继承自 MarshalByRefObject。)
公共方法 Rollback 存储将重新设置到事务生成时的状态。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

扩展方法 

  名称 说明
公共扩展方法 GetSerializationContext 获取活动在指定事务上下午中的 SerializationContext。SerializationContext 在序列化事务的 TranactionContext 中存储。如果事务是嵌套的,则在事务对战中搜索,以寻找最接近的具有 SerializationContext 的闭合序列化事务。 (由 SerializationContextTransactionExtensions 定义。)

页首

备注

事务使您能够组更改。 它还记录在事务中执行的操作,以便以后可以取消。

对存储的更改必须完成事务中。 只有 + 当该事务提交,用于存储的更改。 事务可能包含存储接受更改,也可以在本地事务提交时,或者当顶级事务提交时。 本地事务在一个顶级事务嵌套。 在下一个顶级事务能提交或回滚之前,一个嵌套事务必须提交或回滚。 有关更多信息,请参见示例 TransactionDepth 属性。

事务还记录发生的事件。 这将使事件的一组后撤消或重做操作与 UndoManager 属性。

应配置事务。 这可以完成使用 Dispose 方法或通过创建事务在 Using 构造。 如果该事务尚未提交,以便在配置时,该事务将自动回滚,所有更改都将被取消。

示例

下面的示例演示修改存储的事务。 该事务提交。 如果该事务回滚,用于存储的所有更改都将被取消。 该事务将自动配置在 using 块的结尾处。

using (Transaction txCreateElem =  model.Store.TransactionManager.BeginTransaction("Create named element")
{
  A a = new A(store);
  a.Name = "Fred";
  // Commit the transaction and add the named element to the model
  txCreateElem.Commit();
}

有关示例和更多信息,请参见 Using Transactions

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参阅

参考

Microsoft.VisualStudio.Modeling 命名空间