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 のプロパティと後の段階で元に戻すまたはやり直しされたアクションのグループを有効にします。
トランザクションは破棄する必要があります。これは Using の構造体に Dispose のメソッドまたはメソッドをトランザクションを作成して使用できます。できます。破棄されると、トランザクションがコミットされていない場合、トランザクションは自動的にコピーされ、すべての変更がキャンセルされます。
例
次の例では、ストアを変更するトランザクションを示します。トランザクションがコミットされる。トランザクションをロールバックすると、ストアに変更がキャンセルされます。トランザクションは 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) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。