Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / tx / System / Transactions / EnlistmentTraceIdentifier.cs / 1305376 / EnlistmentTraceIdentifier.cs
using System; namespace System.Transactions { ////// This identifier is used in tracing to distiguish transaction /// enlistments. This identifier is only unique within /// a given AppDomain. /// internal struct EnlistmentTraceIdentifier { public static readonly EnlistmentTraceIdentifier Empty = new EnlistmentTraceIdentifier(); public EnlistmentTraceIdentifier( Guid resourceManagerIdentifier, TransactionTraceIdentifier transactionTraceId, int enlistmentIdentifier ) { this.resourceManagerIdentifier = resourceManagerIdentifier; this.transactionTraceIdentifier = transactionTraceId; this.enlistmentIdentifier = enlistmentIdentifier; } private Guid resourceManagerIdentifier; ////// The Guid identifier of the resource manager that made the /// enlistment. If the enlistment is a Volatile enlistment, /// this value will be Guid.Empty. /// public Guid ResourceManagerIdentifier { get { return this.resourceManagerIdentifier; } } private TransactionTraceIdentifier transactionTraceIdentifier; ////// The TransactionTraceIdentifier for the transaction that is /// enlisted upon. /// public TransactionTraceIdentifier TransactionTraceId { get { return this.transactionTraceIdentifier; } } private int enlistmentIdentifier; ////// A value that distiguishes between multiple enlistments on the same /// transaction instance by the same resource manager. /// public int EnlistmentIdentifier { get { return this.enlistmentIdentifier; } } public override int GetHashCode() { return base.GetHashCode(); // Don't have anything better to do. } public override bool Equals ( object objectToCompare ) { if ( ! ( objectToCompare is EnlistmentTraceIdentifier ) ) { return false; } EnlistmentTraceIdentifier id = ( EnlistmentTraceIdentifier )objectToCompare; if ( (id.ResourceManagerIdentifier != this.ResourceManagerIdentifier ) || ( id.TransactionTraceId != this.TransactionTraceId ) || ( id.EnlistmentIdentifier != this.EnlistmentIdentifier ) ) { return false; } return true; } public static bool operator==( EnlistmentTraceIdentifier id1, EnlistmentTraceIdentifier id2 ) { return id1.Equals( id2 ); } // We need to equality operator and the compiler doesn't let us have an equality operator without an inequality operator, // so we added it and FXCop doesn't like the fact that we don't call it. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] public static bool operator!=( EnlistmentTraceIdentifier id1, EnlistmentTraceIdentifier id2 ) { return !id1.Equals( id2 ); } } } // 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
- WmfPlaceableFileHeader.cs
- MaterialCollection.cs
- Converter.cs
- SqlOuterApplyReducer.cs
- StylusShape.cs
- ErrorInfoXmlDocument.cs
- LaxModeSecurityHeaderElementInferenceEngine.cs
- MetadataUtil.cs
- TextPatternIdentifiers.cs
- RemotingService.cs
- DataRowView.cs
- DefaultTextStoreTextComposition.cs
- CallbackValidatorAttribute.cs
- FormsAuthenticationTicket.cs
- DeviceContext.cs
- OciEnlistContext.cs
- MsmqAppDomainProtocolHandler.cs
- UxThemeWrapper.cs
- UIElement.cs
- SourceSwitch.cs
- TypeContext.cs
- SerTrace.cs
- TextViewElement.cs
- HostDesigntimeLicenseContext.cs
- StateInitializationDesigner.cs
- ConnectionPointCookie.cs
- Zone.cs
- PrintingPermission.cs
- SwitchLevelAttribute.cs
- MetadataItemCollectionFactory.cs
- SettingsAttributeDictionary.cs
- UserPersonalizationStateInfo.cs
- ListDictionaryInternal.cs
- LeafCellTreeNode.cs
- BinaryMethodMessage.cs
- BatchServiceHost.cs
- WebPartCloseVerb.cs
- ConvertersCollection.cs
- _BaseOverlappedAsyncResult.cs
- ProtocolsConfiguration.cs
- StringArrayEditor.cs
- PerformanceCountersElement.cs
- TextRangeEditTables.cs
- SystemDropShadowChrome.cs
- WebBrowser.cs
- FrameworkElementAutomationPeer.cs
- RootBrowserWindow.cs
- DesignTimeValidationFeature.cs
- FontStyles.cs
- LessThanOrEqual.cs
- ValidatorCollection.cs
- XmlNodeComparer.cs
- GrammarBuilderBase.cs
- ReservationCollection.cs
- TextSerializer.cs
- ListControlConvertEventArgs.cs
- SystemFonts.cs
- HtmlElementCollection.cs
- Pen.cs
- ExtensionSimplifierMarkupObject.cs
- PropertyGeneratedEventArgs.cs
- OleDbTransaction.cs
- RIPEMD160.cs
- Adorner.cs
- InputGestureCollection.cs
- XamlVector3DCollectionSerializer.cs
- ToolStripPanelSelectionBehavior.cs
- BindingList.cs
- CollectionBase.cs
- PackageRelationshipCollection.cs
- TypeUtil.cs
- ObjectDataSourceView.cs
- WebZone.cs
- UriSection.cs
- NavigatorOutput.cs
- List.cs
- UnsafeNativeMethods.cs
- MatrixCamera.cs
- VisualStyleElement.cs
- CheckPair.cs
- UnauthorizedAccessException.cs
- Perspective.cs
- DynamicRendererThreadManager.cs
- NGCSerializationManager.cs
- EncoderExceptionFallback.cs
- ServicesExceptionNotHandledEventArgs.cs
- BitmapEffectGroup.cs
- TextContainerChangeEventArgs.cs
- RawStylusInputReport.cs
- propertytag.cs
- SecurityManager.cs
- StatusBarPanelClickEvent.cs
- StateMachineWorkflow.cs
- SuppressMergeCheckAttribute.cs
- SQLDouble.cs
- Int32Rect.cs
- CanonicalFontFamilyReference.cs
- Rights.cs
- CodeDomConfigurationHandler.cs
- DependencyObject.cs