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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。