66 lines
2.0 KiB
C#
66 lines
2.0 KiB
C#
using System;
|
|
|
|
namespace Csla
|
|
{
|
|
/// <summary>
|
|
/// Marks a DataPortal_XYZ method to run within
|
|
/// the specified transactional context.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// <para>
|
|
/// Each business object method may be marked with this attribute
|
|
/// to indicate which type of transactional technology should
|
|
/// be used by the server-side DataPortal. The possible options
|
|
/// are listed in the
|
|
/// <see cref="TransactionalTypes">TransactionalTypes</see> enum.
|
|
/// </para><para>
|
|
/// If the Transactional attribute is not applied to a
|
|
/// DataPortal_XYZ method then the
|
|
/// <see cref="TransactionalTypes.Manual">Manual</see> option
|
|
/// is assumed.
|
|
/// </para><para>
|
|
/// If the Transactional attribute is applied with no explicit
|
|
/// choice for transactionType then the
|
|
/// <see cref="TransactionalTypes.EnterpriseServices">EnterpriseServices</see>
|
|
/// option is assumed.
|
|
/// </para><para>
|
|
/// Both the EnterpriseServices and TransactionScope options provide
|
|
/// 2-phase distributed transactional support.
|
|
/// </para>
|
|
/// </remarks>
|
|
[AttributeUsage(AttributeTargets.Method)]
|
|
public sealed class TransactionalAttribute : Attribute
|
|
{
|
|
private TransactionalTypes _type;
|
|
|
|
/// <summary>
|
|
/// Marks a method to run within a COM+
|
|
/// transactional context.
|
|
/// </summary>
|
|
public TransactionalAttribute()
|
|
{
|
|
_type = TransactionalTypes.EnterpriseServices;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Marks a method to run within the specified
|
|
/// type of transactional context.
|
|
/// </summary>
|
|
/// <param name="transactionType">
|
|
/// Specifies the transactional context within which the
|
|
/// method should run.</param>
|
|
public TransactionalAttribute(TransactionalTypes transactionType)
|
|
{
|
|
_type = transactionType;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the type of transaction requested by the
|
|
/// business object method.
|
|
/// </summary>
|
|
public TransactionalTypes TransactionType
|
|
{
|
|
get { return _type; }
|
|
}
|
|
}
|
|
} |