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
- ToolStripContentPanel.cs
- WorkflowInstanceContextProvider.cs
- WebPartCatalogCloseVerb.cs
- SmtpClient.cs
- KeyGesture.cs
- SerialPinChanges.cs
- Pkcs9Attribute.cs
- PermissionSetTriple.cs
- RemotingException.cs
- TimeSpanValidator.cs
- QuerySetOp.cs
- CategoryAttribute.cs
- EmbeddedMailObjectsCollection.cs
- IListConverters.cs
- BindingList.cs
- SecurityCriticalDataForSet.cs
- OracleInternalConnection.cs
- ServiceOperationParameter.cs
- SystemUdpStatistics.cs
- IMembershipProvider.cs
- Model3DCollection.cs
- CatalogZoneBase.cs
- WebProxyScriptElement.cs
- SiteMapProvider.cs
- HttpCapabilitiesBase.cs
- XmlSchemaInfo.cs
- ToolStripRenderEventArgs.cs
- RuntimeWrappedException.cs
- RetriableClipboard.cs
- TaiwanCalendar.cs
- DataGridTextBox.cs
- BookmarkInfo.cs
- XmlArrayItemAttribute.cs
- EntityCollection.cs
- DesignerDataParameter.cs
- MouseOverProperty.cs
- ToolTip.cs
- VisualBasicValue.cs
- ItemList.cs
- XmlUtil.cs
- TabletDeviceInfo.cs
- SecurityDescriptor.cs
- ListViewInsertionMark.cs
- XmlSchemaDatatype.cs
- EpmSyndicationContentSerializer.cs
- EqualityComparer.cs
- ClientTarget.cs
- ViewBase.cs
- ItemsControlAutomationPeer.cs
- HiddenField.cs
- AutomationFocusChangedEventArgs.cs
- ObjectTypeMapping.cs
- DbProviderSpecificTypePropertyAttribute.cs
- CollectionViewProxy.cs
- ModifyActivitiesPropertyDescriptor.cs
- XmlEventCache.cs
- QueryGenerator.cs
- DataGridViewUtilities.cs
- EntityCollection.cs
- WebDescriptionAttribute.cs
- NamespaceQuery.cs
- TreeNodeClickEventArgs.cs
- HtmlElementEventArgs.cs
- TargetConverter.cs
- TraceListener.cs
- StringResourceManager.cs
- mongolianshape.cs
- AttachedPropertyMethodSelector.cs
- _WebProxyDataBuilder.cs
- ConfigurationStrings.cs
- UnsafePeerToPeerMethods.cs
- UiaCoreApi.cs
- XmlAnyElementAttributes.cs
- WebPartConnectionsCancelEventArgs.cs
- WebPartCatalogAddVerb.cs
- AncillaryOps.cs
- RtType.cs
- TouchPoint.cs
- TransactionScopeDesigner.cs
- FontConverter.cs
- ProtocolsConfigurationHandler.cs
- GridViewSelectEventArgs.cs
- OdbcCommandBuilder.cs
- Hex.cs
- XmlAtomicValue.cs
- WindowsServiceCredential.cs
- SecurityContext.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- QueueProcessor.cs
- NativeMethodsOther.cs
- CodeParameterDeclarationExpression.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- ObjectListDataBindEventArgs.cs
- ResourceExpressionBuilder.cs
- AppSettingsExpressionBuilder.cs
- _IPv4Address.cs
- Queue.cs
- ThreadStaticAttribute.cs
- AnnotationResourceCollection.cs
- ChangeTracker.cs