DependentTransactionとは? わかりやすく解説

DependentTransaction イベント


パブリック イベントパブリック イベント

  名前 説明
パブリック イベント TransactionCompleted  トランザクションが完了したことを示します。 ( Transaction から継承されます。)
参照参照

関連項目

DependentTransaction クラス
System.Transactions 名前空間

その他の技術情報

DependentTransaction を使用した同時実行管理

DependentTransaction クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

トランザクションの作業に関してアプリケーションが停止するまで、トランザクションをコミットできないようにする、トランザクションの複製を記述します。このクラスは継承できません。

名前空間: System.Transactions
アセンブリ: System.Transactions (system.transactions.dll 内)
構文構文

<SerializableAttribute> _
Public NotInheritable Class
 DependentTransaction
    Inherits Transaction
Dim instance As DependentTransaction
[SerializableAttribute] 
public sealed class DependentTransaction :
 Transaction
[SerializableAttribute] 
public ref class DependentTransaction sealed
 : public Transaction
/** @attribute SerializableAttribute() */ 
public final class DependentTransaction extends
 Transaction
SerializableAttribute 
public final class DependentTransaction extends
 Transaction
解説解説
使用例使用例

依存トランザクションを作成する方法を次の例に示します。

Public Shared Sub Main()
    Try
        Using scope As TransactionScope = New
 TransactionScope()

            'Perform transactional work here.

            'Queue work item
            ThreadPool.QueueUserWorkItem(AddressOf WorkerThread,
 Transaction.Current.DependentClone(DependentCloneOption.BlockCommitUntilComplete))

            'Display transaction information
            Console.WriteLine("Transaction information:")
            Console.WriteLine("ID:             {0}",
 Transaction.Current.TransactionInformation.LocalIdentifier)
            Console.WriteLine("status:         {0}",
 Transaction.Current.TransactionInformation.Status)
            Console.WriteLine("isolationlevel: {0}",
 Transaction.Current.IsolationLevel)

            'Call Complete on the TransactionScope based on console
 input
            Dim c As ConsoleKeyInfo
            While (True)

                Console.Write("Complete the transaction scope?
 [Y|N] ")
                c = Console.ReadKey()
                Console.WriteLine()
                If (c.KeyChar = "Y")
 Or (c.KeyChar = "y") Then
                    scope.Complete()
                    Exit While
                ElseIf ((c.KeyChar = "N")
 Or (c.KeyChar = "n")) Then
                    Exit While
                End If
            End While
        End Using

    Catch ex As TransactionException
        Console.WriteLine(ex)
    Catch
        Console.WriteLine("Cannot complete transaction")
        Throw
    End Try
End Sub

Public Shared Sub WorkerThread(ByVal
 myTransaction As Object)

    'Create a DependentTransaction from the object passed to the WorkerThread
    Dim dTx As DependentTransaction
    dTx = CType(myTransaction, DependentTransaction)

    'Sleep for 1 second to force the worker thread to delay
    Thread.Sleep(1000)

    'Pass the DependentTransaction to the scope, so that work done in
 the scope becomes part of the transaction passed to the worker thread
    Using ts As TransactionScope = New TransactionScope(dTx)
        'Perform transactional work here.

        'Call complete on the transaction scope
        ts.Complete()
    End Using

    'Call complete on the dependent transaction
    dTx.Complete()
End Sub
static void Main(string[]
 args)
{
    try
    {
        using (TransactionScope scope = new
 TransactionScope())
        {
            // Perform transactional work here.

            //Queue work item
            ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerThread),
 Transaction.Current.DependentClone(DependentCloneOption.BlockCommitUntilComplete));

            //Display transaction information
            Console.WriteLine("Transaction information:");
            Console.WriteLine("ID:             {0}", Transaction.Current.TransactionInformation.LocalIdentifier);
            Console.WriteLine("status:         {0}", Transaction.Current.TransactionInformation.Status);
            Console.WriteLine("isolationlevel: {0}", Transaction.Current.IsolationLevel);

            //Call Complete on the TransactionScope based on console
 input
            ConsoleKeyInfo c;
            while (true)
            {
                            Console.Write("Complete the transaction scope? [Y|N]
 ");
                c = Console.ReadKey();
                Console.WriteLine();

                if ((c.KeyChar == 'Y') || (c.KeyChar == 'y'))
                {
                    //Call complete on the scope
                    scope.Complete();
                    break;
                }
                else if ((c.KeyChar == 'N')
 || (c.KeyChar == 'n'))
                {
                    break;
                }
            }

        }
    }
    catch (System.Transactions.TransactionException ex)
    {
        Console.WriteLine(ex);
    }
    catch
    {
        Console.WriteLine("Cannot complete transaction");
        throw;
    }
    
}

private static void WorkerThread(object
 transaction)
{
    //Create a DependentTransaction from the object passed to the WorkerThread
    DependentTransaction dTx = (DependentTransaction)transaction;

    //Sleep for 1 second to force the worker thread to delay
    Thread.Sleep(1000);

    //Pass the DependentTransaction to the scope, so that work done
 in the scope becomes part of the transaction passed to the worker thread
    using (TransactionScope ts = new TransactionScope(dTx))
    {
        //Perform transactional work here.

        //Call complete on the transaction scope
        ts.Complete();
    }

    //Call complete on the dependent transaction
    dTx.Complete();
}
継承階層継承階層
System.Object
   System.Transactions.Transaction
    System.Transactions.DependentTransaction
スレッド セーフスレッド セーフ

この型は、マルチスレッド操作に対して安全です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

DependentTransaction プロパティ


DependentTransaction メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Clone  トランザクションの複製を作成します。 ( Transaction から継承されます。)
パブリック メソッド Complete 依存トランザクションを完了しようとします。
パブリック メソッド DependentClone  トランザクションの依存する複製を作成します。 ( Transaction から継承されます。)
パブリック メソッド Dispose  オブジェクトによって保持されているリソースを解放します。 ( Transaction から継承されます。)
パブリック メソッド EnlistDurable  オーバーロードされます。 トランザクションに参加する永続的リソース マネージャを参加させます。 ( Transaction から継承されます。)
パブリック メソッド EnlistPromotableSinglePhase  PSPE (Promotable Single Phase Enlistment) を使用して、内部トランザクションを持つリソース マネージャを参加させます。 ( Transaction から継承されます。)
パブリック メソッド EnlistVolatile  オーバーロードされます。 トランザクションに参加する揮発性リソース マネージャを参加させます。 ( Transaction から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 このトランザクションと指定したオブジェクトが等しいかどうかを判断します。 ( Transaction から継承されます。)
パブリック メソッド GetHashCode  このインスタンスのハッシュ コードを返します。 ( Transaction から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド op_Equality  指定した 2 つの Transaction インスタンスが等価であるかどうかをテストします。 ( Transaction から継承されます。)
パブリック メソッド op_Inequality  2 つの Transaction インスタンスが等しくないかどうかを示す値を返します。 ( Transaction から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド Rollback  オーバーロードされます。 トランザクションをロールバック (中止) します。 ( Transaction から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DependentTransaction クラス
System.Transactions 名前空間

その他の技術情報

DependentTransaction を使用した同時実行管理

DependentTransaction メンバ

トランザクションの作業に関してアプリケーションが停止するまで、トランザクションをコミットできないようにする、トランザクションの複製を記述します。このクラスは継承できません。

DependentTransaction データ型で公開されるメンバを以下の表に示します。


パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Clone  トランザクションの複製を作成します。 (Transaction から継承されます。)
パブリック メソッド Complete 依存トランザクションを完了しようとします。
パブリック メソッド DependentClone  トランザクションの依存する複製を作成します。 (Transaction から継承されます。)
パブリック メソッド Dispose  オブジェクトによって保持されているリソースを解放します。 (Transaction から継承されます。)
パブリック メソッド EnlistDurable  オーバーロードされます。 トランザクションに参加する永続的リソース マネージャを参加させます。 (Transaction から継承されます。)
パブリック メソッド EnlistPromotableSinglePhase  PSPE (Promotable Single Phase Enlistment) を使用して、内部トランザクションを持つリソース マネージャを参加させます。 (Transaction から継承されます。)
パブリック メソッド EnlistVolatile  オーバーロードされます。 トランザクションに参加する揮発性リソース マネージャを参加させます。 (Transaction から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 このトランザクションと指定したオブジェクトが等しいかどうかを判断します。 (Transaction から継承されます。)
パブリック メソッド GetHashCode  このインスタンスのハッシュ コードを返します。 (Transaction から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド op_Equality  指定した 2 つの Transaction インスタンスが等価であるかどうかをテストします。 (Transaction から継承されます。)
パブリック メソッド op_Inequality  2 つの Transaction インスタンスが等しくないかどうかを示す値を返します。 (Transaction から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド Rollback  オーバーロードされます。 トランザクションをロールバック (中止) します。 (Transaction から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
  名前 説明
パブリック イベント TransactionCompleted  トランザクションが完了したことを示します。(Transaction から継承されます。)
参照参照

関連項目

DependentTransaction クラス
System.Transactions 名前空間

その他の技術情報

DependentTransaction を使用した同時実行管理



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DependentTransaction」の関連用語

DependentTransactionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DependentTransactionのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS