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
- PtsHelper.cs
- DataControlFieldCell.cs
- TdsValueSetter.cs
- PseudoWebRequest.cs
- DateTimeOffsetConverter.cs
- ListBoxItem.cs
- XmlSchemaSearchPattern.cs
- TempFiles.cs
- WebPartTransformerAttribute.cs
- EntityDataSourceContextCreatingEventArgs.cs
- XmlSchemaSimpleContentRestriction.cs
- SendActivity.cs
- EditingContext.cs
- CollectionsUtil.cs
- ConfigurationManagerInternal.cs
- SiteMapPathDesigner.cs
- MouseActionValueSerializer.cs
- OleDbPropertySetGuid.cs
- QueryRewriter.cs
- RegistryKey.cs
- RtfFormatStack.cs
- Utility.cs
- SafeFileMapViewHandle.cs
- TextBlockAutomationPeer.cs
- WmpBitmapDecoder.cs
- InlinedAggregationOperatorEnumerator.cs
- SimpleTextLine.cs
- MenuEventArgs.cs
- SqlCharStream.cs
- _OverlappedAsyncResult.cs
- GraphicsPath.cs
- ConfigurationValue.cs
- MarkupCompilePass2.cs
- TabletCollection.cs
- XmlText.cs
- DependencyStoreSurrogate.cs
- PointHitTestParameters.cs
- OdbcPermission.cs
- CheckBoxFlatAdapter.cs
- IISMapPath.cs
- CacheHelper.cs
- ExecutionContext.cs
- PropertyGeneratedEventArgs.cs
- SkinBuilder.cs
- StaticExtension.cs
- SqlUnionizer.cs
- SqlDataSourceFilteringEventArgs.cs
- PointHitTestResult.cs
- XmlObjectSerializer.cs
- VoiceObjectToken.cs
- Filter.cs
- activationcontext.cs
- DataObjectMethodAttribute.cs
- DeviceContexts.cs
- log.cs
- BinHexEncoder.cs
- UpdateEventArgs.cs
- ColumnResult.cs
- log.cs
- HtmlForm.cs
- MessageLogTraceRecord.cs
- DynamicMethod.cs
- CompiledAction.cs
- ObjectToModelValueConverter.cs
- PersonalizationStateQuery.cs
- BitmapEffectInputConnector.cs
- ADConnectionHelper.cs
- XmlSchemaCollection.cs
- EntitySqlQueryBuilder.cs
- InputLanguageEventArgs.cs
- PropertyBuilder.cs
- dsa.cs
- ProviderUtil.cs
- TrustLevel.cs
- ListView.cs
- CornerRadius.cs
- PreloadedPackages.cs
- UnSafeCharBuffer.cs
- ResourceManager.cs
- WsdlImporterElement.cs
- SQLInt64Storage.cs
- TouchFrameEventArgs.cs
- ConfigsHelper.cs
- HttpResponseInternalWrapper.cs
- FreeFormDesigner.cs
- StatusBarItem.cs
- CopyOnWriteList.cs
- WebPartManagerInternals.cs
- AnimatedTypeHelpers.cs
- ThreadSafeList.cs
- QueuePathDialog.cs
- EnterpriseServicesHelper.cs
- SourceChangedEventArgs.cs
- XmlEncodedRawTextWriter.cs
- IxmlLineInfo.cs
- GridViewRowEventArgs.cs
- MetaType.cs
- TripleDESCryptoServiceProvider.cs
- FilteredDataSetHelper.cs
- OperationInfo.cs