TransactionOption Enum
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Specifies the automatic transaction type requested by the component.
public enum class TransactionOption
[System.Serializable]
public enum TransactionOption
[<System.Serializable>]
type TransactionOption =
Public Enum TransactionOption
- Inheritance
- Attributes
Fields
Name | Value | Description |
---|---|---|
Disabled | 0 | Ignores any transaction in the current context. |
NotSupported | 1 | Creates the component in a context with no governing transaction. |
Supported | 2 | Shares a transaction, if one exists. |
Required | 3 | Shares a transaction, if one exists, and creates a new transaction if necessary. |
RequiresNew | 4 | Creates the component with a new transaction, regardless of the state of the current context. |
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.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
' 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
' 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
' 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
' A new transaction will always be created for an instance of this class.
<Transaction(TransactionOption.RequiresNew)> _
Public Class TransactionAttribute_TransactionRequiresNew
Inherits ServicedComponent
End Class
Remarks
When using the .NET Installation Tool (Regsvcs.exe), the transaction option for a ServicedComponent defaults to Disabled.