This topic has not yet been rated - Rate this topic

TransactionCompletedEventHandler Delegate

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

Namespace:  System.Transactions
Assembly:  System.Transactions (in System.Transactions.dll)
'Declaration
Public Delegate Sub TransactionCompletedEventHandler ( _
	sender As Object, _
	e As TransactionEventArgs _
)

Parameters

sender
Type: System.Object

The source of the event.

e
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()
            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 
        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.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.