Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Bridge / Enlistment.cs / 1 / Enlistment.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- using System; namespace Microsoft.Transactions.Bridge { [Flags] enum Notifications { Phase0 = 0x000001, // Enlistment wants/will do phase-0 notifications TwoPhaseCommit = 0x000002, // Enlistment wants/will do two phase commit notifications Outcome = 0x000004, // Enlistment wants/will do outcome notifications AllProtocols = (Notifications.Phase0 | Notifications.TwoPhaseCommit | Notifications.Outcome), InDoubt = 0x000008, // Enlistment can handle in-doubt status reports Volatile = 0x000010, // Enlistment should not be recovered All = (Notifications.AllProtocols | Notifications.InDoubt | Notifications.Volatile) } ////// The Enlistment type defines the enlistment, which is the mapping of /// the transaction from provider to PPL to TM. /// sealed class Enlistment { public Enlistment( ) { this.localTransactionId = Guid.Empty; this.enlistmentId = Guid.NewGuid( ); this.remoteTransactionId = null; this.recoveryData = new byte[0]; this.transactionManagerContext = null; this.protocolProviderContext = null; this.notificationMask = Notifications.AllProtocols; } public Enlistment( Guid enlistmentId ) { this.localTransactionId = Guid.Empty; this.enlistmentId = enlistmentId; this.remoteTransactionId = null; this.recoveryData = new byte[0]; this.transactionManagerContext = null; this.protocolProviderContext = null; this.notificationMask = Notifications.AllProtocols; } public Guid EnlistmentId { get{ return enlistmentId; } } public Guid LocalTransactionId { get{ return localTransactionId; } set{ localTransactionId = value; } } public string RemoteTransactionId { get{ return remoteTransactionId; } set{ remoteTransactionId = value; } } public object TransactionManagerContext { get{ return transactionManagerContext; } set{ transactionManagerContext = value; } } public object ProtocolProviderContext { get{ return protocolProviderContext; } set{ protocolProviderContext = value; } } public byte[] GetRecoveryData() { return (byte[])recoveryData.Clone(); } public void SetRecoveryData(byte[] data) { if (data != null) recoveryData = (byte[])data.Clone(); else recoveryData = new byte[0]; } public Notifications NotificationMask { get { return notificationMask; } set { notificationMask = value; } } override public string ToString( ) { return this.GetType( ).ToString( ) + " enlistment ID = " + enlistmentId.ToString( "B", null ) + " transaction ID = " + localTransactionId.ToString( "B", null ); } public EnlistmentOptions EnlistmentOptions { get{ return this.enlistmentOptions; } set{ this.enlistmentOptions = value; } } // // // private Guid localTransactionId; private Guid enlistmentId; private string remoteTransactionId; private byte[] recoveryData; private Notifications notificationMask; private EnlistmentOptions enlistmentOptions; private object transactionManagerContext; private object protocolProviderContext; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExplicitDiscriminatorMap.cs
- BindingCollection.cs
- UnicodeEncoding.cs
- NetworkCredential.cs
- RadioButtonStandardAdapter.cs
- GridViewColumnHeaderAutomationPeer.cs
- MenuItemBinding.cs
- PageParser.cs
- RawStylusActions.cs
- ValidatorUtils.cs
- CancellationState.cs
- GeneralTransformGroup.cs
- LocalizabilityAttribute.cs
- Trace.cs
- GuidelineSet.cs
- ValidatedControlConverter.cs
- LineBreak.cs
- SystemInfo.cs
- LineUtil.cs
- SortExpressionBuilder.cs
- XsdBuildProvider.cs
- XslTransformFileEditor.cs
- ZipFileInfo.cs
- ProgressiveCrcCalculatingStream.cs
- LOSFormatter.cs
- NavigationPropertySingletonExpression.cs
- Int16.cs
- WindowsFormsHost.cs
- RegexParser.cs
- TextFormattingConverter.cs
- BuildProvider.cs
- DataBoundControlAdapter.cs
- XmlCodeExporter.cs
- PropertyItem.cs
- ExpressionEditorAttribute.cs
- ConnectionProviderAttribute.cs
- _SafeNetHandles.cs
- MessageQueueTransaction.cs
- HtmlTableRowCollection.cs
- CookieProtection.cs
- HttpBindingExtension.cs
- MatrixTransform3D.cs
- DataListItemCollection.cs
- FontSourceCollection.cs
- ContainerUIElement3D.cs
- CompilerGeneratedAttribute.cs
- ConstructorNeedsTagAttribute.cs
- SectionRecord.cs
- ScriptManagerProxy.cs
- Calendar.cs
- PeerCollaborationPermission.cs
- DataGridViewElement.cs
- WinEventQueueItem.cs
- DataControlExtensions.cs
- RemoteWebConfigurationHostStream.cs
- ThicknessAnimation.cs
- MobileUserControlDesigner.cs
- DataGridParentRows.cs
- BitmapEffectCollection.cs
- ResourceReferenceExpression.cs
- OuterGlowBitmapEffect.cs
- PrincipalPermission.cs
- DependencyPropertyKey.cs
- AdPostCacheSubstitution.cs
- FilterQuery.cs
- Native.cs
- AppSettings.cs
- MenuStrip.cs
- RemoteWebConfigurationHostServer.cs
- TableCell.cs
- InkCanvasSelectionAdorner.cs
- ThumbButtonInfoCollection.cs
- DataGridViewTextBoxEditingControl.cs
- KeyboardDevice.cs
- TdsParserStaticMethods.cs
- BulletedListDesigner.cs
- FixedPage.cs
- TimersDescriptionAttribute.cs
- ReflectionHelper.cs
- ServiceRouteHandler.cs
- DataServiceHostFactory.cs
- XmlSchemaSet.cs
- PresentationSource.cs
- ResXFileRef.cs
- PagePropertiesChangingEventArgs.cs
- BehaviorEditorPart.cs
- TraceFilter.cs
- IISMapPath.cs
- TdsParserHelperClasses.cs
- FileDialogPermission.cs
- DataGridPageChangedEventArgs.cs
- AsyncCompletedEventArgs.cs
- Cursors.cs
- SiteMapDataSource.cs
- WindowsSysHeader.cs
- BinaryExpression.cs
- EastAsianLunisolarCalendar.cs
- GPPOINT.cs
- ClockController.cs
- IntSecurity.cs