EnlistmentOptions Enumeration

Determines whether the object should be enlisted during the prepare phase.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

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

<FlagsAttribute> _
Public Enumeration EnlistmentOptions
Dim instance As EnlistmentOptions

/** @attribute FlagsAttribute() */ 
public enum EnlistmentOptions
public enum EnlistmentOptions

 Member nameDescription
EnlistDuringPrepareRequiredThe object must enlist during the initial phase of the commitment process. 
NoneThe object does not require enlistment during the initial phase of the commitment process. 

This enumeration is passed into the EnlistVolatile and EnlistDurable and methods to notify the transaction manager whether the resource manager needs to create another enlistment during the Prepare phase. For more information on enlistment, see Participation in a Transaction.

If EnlistDuringPrepareRequired is specified during enlistment, the resource manager indicates that it wants to receive a Prepare notification while new enlistments are still allowed for the transaction. A resource manager who acts as a cache for another durable resource, such as a backend database, would probably use this option during enlistment. When the caching resource gets its Prepare notification, it transfers its content to the durable resource. By doing so, the durable resource enlists on the transaction to become a participant of the 2 Phase Commit (2PC) protocol. Before this happens, only the caching resource (not the durable resource) was enlisted.

If None is specified, the enlistment indicates that it will not receive a Prepare notification until it is too late to create new enlistments in 2PC. In our preceding scenario, if a caching resource specifies this option during enlistment, and attempts to flush its cache during the Prepare notification, the durable resource gets an exception when it attempts on enlisting since it is too late.

None should be used as a default.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0