Transaction 类

事务确保对存储的更改将可以提交或回滚的组。

继承层次结构

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

命名空间:  Microsoft.VisualStudio.Modeling
程序集:  Microsoft.VisualStudio.Modeling.Sdk.11.0(在 Microsoft.VisualStudio.Modeling.Sdk.11.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 命名空间