TransactionCompletedEventHandler デリゲート
アセンブリ: System.Transactions (system.transactions.dll 内)

Public Delegate Sub TransactionCompletedEventHandler ( _ sender As Object, _ e As TransactionEventArgs _ )
/** @delegate */ public delegate void TransactionCompletedEventHandler ( Object sender, TransactionEventArgs e )

アプリケーションが TransactionCompleted イベントをサブスクライブすることによって、トランザクションの結果を取得する方法を次の例に示します。
Public Shared Sub Main() Try Using scope As TransactionScope = New TransactionScope() 'Register for the transaction completed event for the current transaction AddHandler Transaction.Current.TransactionCompleted, AddressOf Current_TransactionCompleted 'Perform transactional work here. '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 'Transaction completed event handler Public Shared Sub Current_TransactionCompleted(ByVal sender As Object, ByVal e As TransactionEventArgs) Console.WriteLine("A transaction has completed:") Console.WriteLine("ID: {0}", e.Transaction.TransactionInformation.LocalIdentifier) Console.WriteLine("Distributed ID: {0}", e.Transaction.TransactionInformation.DistributedIdentifier) Console.WriteLine("Status: {0}", e.Transaction.TransactionInformation.Status) Console.WriteLine("IsolationLevel: {0}", e.Transaction.IsolationLevel) End Sub
static void Main(string[] args) { try { //Create the transaction scope using (TransactionScope scope = new TransactionScope()) { //Register for the transaction completed event for the current transaction Transaction.Current.TransactionCompleted += new TransactionCompletedEventHandler(Current_TransactionCompleted); //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')) { 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; } } //Transaction completed event handler static void Current_TransactionCompleted(object sender, TransactionEventArgs e) { Console.WriteLine("A transaction has completed:"); Console.WriteLine("ID: {0}", e.Transaction.TransactionInformation.LocalIdentifier); Console.WriteLine("Distributed ID: {0}", e.Transaction.TransactionInformation.DistributedIdentifier); Console.WriteLine("Status: {0}", e.Transaction.TransactionInformation.Status); Console.WriteLine("IsolationLevel: {0}", e.Transaction.IsolationLevel); }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からTransactionCompletedEventHandler デリゲートを検索する場合は、下記のリンクをクリックしてください。

- TransactionCompletedEventHandler デリゲートのページへのリンク