This documentation is archived and is not being maintained.

TransactionCompletedEventHandler Delegate

Represents the method that handles the TransactionCompleted event of a Transaction class.

Namespace:  System.Transactions
Assembly:  System.Transactions (in System.Transactions.dll)

Public Delegate Sub TransactionCompletedEventHandler ( _
	sender As Object, _
	e As TransactionEventArgs _


Type: System.Object
The source of the event.
Type: System.Transactions.TransactionEventArgs
The TransactionEventArgs that contains the event data.

The following example shows how an application can obtain the outcome of a transaction by subscribing to the TransactionCompleted event.

        Public Shared Sub Main()
                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()
                        If (c.KeyChar = "Y") Or (c.KeyChar = "y") Then
                            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("Cannot complete transaction")
            End Try
        End Sub

        'Transaction completed event handler
        Private 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

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.