TransactionOption TransactionOption TransactionOption TransactionOption Enum

Definition

Specifies the automatic transaction type requested by the component.

public enum class TransactionOption
[System.Serializable]
public enum TransactionOption
type TransactionOption = 
Public Enum TransactionOption
Inheritance
TransactionOptionTransactionOptionTransactionOptionTransactionOption
Attributes

Fields

Disabled Disabled Disabled Disabled 0

Ignores any transaction in the current context.

NotSupported NotSupported NotSupported NotSupported 1

Creates the component in a context with no governing transaction.

Required Required Required Required 3

Shares a transaction, if one exists, and creates a new transaction if necessary.

RequiresNew RequiresNew RequiresNew RequiresNew 4

Creates the component with a new transaction, regardless of the state of the current context.

Supported Supported Supported Supported 2

Shares a transaction, if one exists.

Examples

The following code example demonstrates the use of the TransactionOption type.

#using <System.EnterpriseServices.dll>

using namespace System;
using namespace System::EnterpriseServices;
using namespace System::Reflection;

// References:
// System.EnterpriseServices

// An instance of this class will not participate in transactions, but can
// share its caller's context even if its caller is configured as
// NotSupported, Supported, Required, or RequiresNew.
[Transaction(TransactionOption::Disabled)]
public ref class TransactionDisabled : public ServicedComponent
{
};

// An instance of this class will not participate in transactions, and will
// share its caller's context only if its caller is also configured as
// NotSupported.
[Transaction(TransactionOption::NotSupported)]
public ref class TransactionNotSupported : public ServicedComponent
{
};

// An instance of this class will participate in its caller's transaction
// if one exists.
[Transaction(TransactionOption::Supported)]
public ref class TransactionSupported : public ServicedComponent
{
};

// An instance of this class will participate in its caller's transaction
// if one exists. If not, a new transaction will be created for it.
[Transaction(TransactionOption::Required)]
public ref class TransactionRequired : public ServicedComponent
{
};

// A new transaction will always be created for an instance of this class.
[Transaction(TransactionOption::RequiresNew)]
public ref class TransactionRequiresNew : public ServicedComponent
{
};
using System;
using System.EnterpriseServices;
using System.Reflection;

// References:
// System.EnterpriseServices

// An instance of this class will not participate in transactions, but can
// share its caller's context even if its caller is configured as
// NotSupported, Supported, Required, or RequiresNew.
[Transaction(TransactionOption.Disabled)]
public class TransactionAttribute_TransactionDisabled : ServicedComponent
{
}

// An instance of this class will not participate in transactions, and will
// share its caller's context only if its caller is also configured as
// NotSupported.
[Transaction(TransactionOption.NotSupported)]
public class TransactionAttribute_TransactionNotSupported : ServicedComponent
{
}

// An instance of this class will participate in its caller's transaction
// if one exists.
[Transaction(TransactionOption.Supported)]
public class TransactionAttribute_TransactionSupported : ServicedComponent
{
}

// An instance of this class will participate in its caller's transaction
// if one exists. If not, a new transaction will be created for it.
[Transaction(TransactionOption.Required)]
public class TransactionAttribute_TransactionRequired : ServicedComponent
{
}

// A new transaction will always be created for an instance of this class.
[Transaction(TransactionOption.RequiresNew)]
public class TransactionAttribute_TransactionRequiresNew : ServicedComponent
{
}
Imports System
Imports System.EnterpriseServices
Imports System.Reflection


' References:
' System.EnterpriseServices

' An instance of this class will not participate in transactions, but can
' share its caller's context even if its caller is configured as
' NotSupported, Supported, Required, or RequiresNew.
<Transaction(TransactionOption.Disabled)>  _
Public Class TransactionAttribute_TransactionDisabled
    Inherits ServicedComponent
End Class 'TransactionAttribute_TransactionDisabled

' An instance of this class will not participate in transactions, and will
' share its caller's context only if its caller is also configured as
' NotSupported.
<Transaction(TransactionOption.NotSupported)>  _
Public Class TransactionAttribute_TransactionNotSupported
    Inherits ServicedComponent
End Class 'TransactionAttribute_TransactionNotSupported

' An instance of this class will participate in its caller's transaction
' if one exists.
<Transaction(TransactionOption.Supported)>  _
Public Class TransactionAttribute_TransactionSupported
    Inherits ServicedComponent
End Class 'TransactionAttribute_TransactionSupported

' An instance of this class will participate in its caller's transaction
' if one exists. If not, a new transaction will be created for it.
<Transaction(TransactionOption.Required)>  _
Public Class TransactionAttribute_TransactionRequired
    Inherits ServicedComponent
End Class 'TransactionAttribute_TransactionRequired

' A new transaction will always be created for an instance of this class.
<Transaction(TransactionOption.RequiresNew)>  _
Public Class TransactionAttribute_TransactionRequiresNew
    Inherits ServicedComponent
End Class 'TransactionAttribute_TransactionRequiresNew

Remarks

When using the .NET Installation Tool (Regsvcs.exe), the transaction option for a ServicedComponent defaults to Disabled.

Applies to