Code:
/ 4.0 / 4.0 / 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. 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
- SiteMapProvider.cs
- DataGridRowHeaderAutomationPeer.cs
- ThicknessConverter.cs
- ExpandSegmentCollection.cs
- Pair.cs
- XmlSchemaInclude.cs
- _NestedSingleAsyncResult.cs
- XmlNodeChangedEventArgs.cs
- SafeRegistryKey.cs
- CustomActivityDesigner.cs
- IImplicitResourceProvider.cs
- UnmanagedMemoryStreamWrapper.cs
- PerformanceCounter.cs
- Pkcs7Signer.cs
- WebPartZoneBase.cs
- PeerMaintainer.cs
- ThousandthOfEmRealPoints.cs
- CodeSubDirectoriesCollection.cs
- PersonalizationStateQuery.cs
- Cursors.cs
- QilLiteral.cs
- DrawToolTipEventArgs.cs
- IDispatchConstantAttribute.cs
- WebServiceData.cs
- ServiceReference.cs
- AspNetRouteServiceHttpHandler.cs
- _SecureChannel.cs
- LineUtil.cs
- Events.cs
- Paragraph.cs
- XmlSchemaObjectTable.cs
- Identifier.cs
- MessageDesigner.cs
- DataSet.cs
- PaperSize.cs
- SymbolMethod.cs
- SHA512Managed.cs
- QueryOperator.cs
- XmlSchemaAny.cs
- ConfigurationValues.cs
- TypefaceMap.cs
- CatalogPartChrome.cs
- PrintingPermissionAttribute.cs
- DynamicResourceExtension.cs
- FocusManager.cs
- BaseDataList.cs
- ZipFileInfoCollection.cs
- ReadContentAsBinaryHelper.cs
- SessionEndedEventArgs.cs
- StrokeNode.cs
- ListBoxDesigner.cs
- ASCIIEncoding.cs
- ParameterExpression.cs
- ChangePassword.cs
- SymbolTable.cs
- SecurityElementBase.cs
- streamingZipPartStream.cs
- ApplyImportsAction.cs
- RealizedColumnsBlock.cs
- UnsafeNetInfoNativeMethods.cs
- __Filters.cs
- PipeStream.cs
- SynchronizedInputPattern.cs
- XappLauncher.cs
- ObjectIDGenerator.cs
- LogSwitch.cs
- GlobalItem.cs
- HorizontalAlignConverter.cs
- TitleStyle.cs
- ExpressionWriter.cs
- VBCodeProvider.cs
- DBBindings.cs
- SocketElement.cs
- DelegateOutArgument.cs
- Rect3D.cs
- WebControlsSection.cs
- LinqDataSourceDisposeEventArgs.cs
- FixedSOMLineRanges.cs
- BlurEffect.cs
- LeftCellWrapper.cs
- ConfigXmlWhitespace.cs
- ContentElementAutomationPeer.cs
- ShaderRenderModeValidation.cs
- TreeViewAutomationPeer.cs
- ExtendedPropertyDescriptor.cs
- EnumDataContract.cs
- AssemblyResourceLoader.cs
- VirtualDirectoryMappingCollection.cs
- coordinatorfactory.cs
- ThicknessAnimationBase.cs
- PatternMatcher.cs
- SecurityChannel.cs
- TargetControlTypeCache.cs
- DateTimeFormat.cs
- DataGridCellAutomationPeer.cs
- DataServiceResponse.cs
- HelpKeywordAttribute.cs
- XPathDocument.cs
- AutomationPatternInfo.cs
- GlobalDataBindingHandler.cs