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
- Range.cs
- DefaultMergeHelper.cs
- AuthorizationRule.cs
- InputBinder.cs
- XsltException.cs
- ColorTransform.cs
- ToolStripRenderer.cs
- RefreshEventArgs.cs
- WebReferencesBuildProvider.cs
- KeyNameIdentifierClause.cs
- ThreadStateException.cs
- Ref.cs
- EncoderFallback.cs
- EntitySetRetriever.cs
- DPCustomTypeDescriptor.cs
- ToolStripContentPanelRenderEventArgs.cs
- ClassicBorderDecorator.cs
- DefaultTypeArgumentAttribute.cs
- DispatcherExceptionFilterEventArgs.cs
- LineSegment.cs
- RegionIterator.cs
- CatalogZoneBase.cs
- ToolStripLocationCancelEventArgs.cs
- SystemShuttingDownException.cs
- COM2TypeInfoProcessor.cs
- DetailsViewRow.cs
- Imaging.cs
- ParseElementCollection.cs
- XmlSerializerImportOptions.cs
- Point4DValueSerializer.cs
- UserControlAutomationPeer.cs
- GlyphCache.cs
- NativeMsmqMessage.cs
- EventInfo.cs
- RegionInfo.cs
- RecordConverter.cs
- ConsoleEntryPoint.cs
- ResourceDescriptionAttribute.cs
- ValidationResult.cs
- RectKeyFrameCollection.cs
- CachingHintValidation.cs
- HtmlInputCheckBox.cs
- SemaphoreSecurity.cs
- TextElementEditingBehaviorAttribute.cs
- TextTreeRootNode.cs
- QuaternionAnimationUsingKeyFrames.cs
- StandardOleMarshalObject.cs
- xsdvalidator.cs
- XmlSerializerAssemblyAttribute.cs
- SmtpCommands.cs
- DrawingContextWalker.cs
- XmlHelper.cs
- ValidationRuleCollection.cs
- DesignerCategoryAttribute.cs
- SelectionPatternIdentifiers.cs
- LineInfo.cs
- CallbackValidator.cs
- XmlSchema.cs
- NavigationEventArgs.cs
- ApplicationFileParser.cs
- CommandHelper.cs
- RightsDocument.cs
- TypeBuilderInstantiation.cs
- TypeConstant.cs
- StyleSheetComponentEditor.cs
- OLEDB_Enum.cs
- WebPartVerb.cs
- StreamUpgradeAcceptor.cs
- BindingNavigatorDesigner.cs
- RawStylusInput.cs
- XMLUtil.cs
- ScriptReferenceBase.cs
- BufferedStream.cs
- CredentialCache.cs
- EdmToObjectNamespaceMap.cs
- EmptyStringExpandableObjectConverter.cs
- UrlPropertyAttribute.cs
- LOSFormatter.cs
- ProfileSettings.cs
- HtmlInputCheckBox.cs
- GenerateTemporaryTargetAssembly.cs
- LocalizedNameDescriptionPair.cs
- CompilerErrorCollection.cs
- DrawListViewColumnHeaderEventArgs.cs
- BooleanFacetDescriptionElement.cs
- DocumentGrid.cs
- WorkflowTraceTransfer.cs
- MasterPageCodeDomTreeGenerator.cs
- FlowDocumentScrollViewer.cs
- NameValuePair.cs
- MultiDataTrigger.cs
- IgnoreSectionHandler.cs
- GlyphRunDrawing.cs
- TextEditorSelection.cs
- ClipboardData.cs
- updatecommandorderer.cs
- CompilationRelaxations.cs
- SqlInternalConnectionTds.cs
- ProfilePropertyMetadata.cs
- ConnectionsZoneAutoFormat.cs