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
- UpDownBase.cs
- PageAsyncTaskManager.cs
- DeobfuscatingStream.cs
- NetStream.cs
- StaticContext.cs
- OdbcUtils.cs
- ExceptionHelpers.cs
- ToolStripPanelRow.cs
- InstanceNotFoundException.cs
- DbMetaDataFactory.cs
- IRCollection.cs
- ProfileBuildProvider.cs
- XmlAttributeCollection.cs
- RegistryConfigurationProvider.cs
- ClientCultureInfo.cs
- _AcceptOverlappedAsyncResult.cs
- CodeAttributeArgument.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- Viewport3DVisual.cs
- WindowsAuthenticationEventArgs.cs
- Cloud.cs
- SecurityUtils.cs
- SystemIPGlobalProperties.cs
- TextStore.cs
- WriteableBitmap.cs
- AuthenticationException.cs
- AdapterUtil.cs
- PrintEvent.cs
- ParallelRangeManager.cs
- Filter.cs
- FilterElement.cs
- PersianCalendar.cs
- ImageFormatConverter.cs
- TransformedBitmap.cs
- PngBitmapDecoder.cs
- XmlValidatingReader.cs
- EventWaitHandleSecurity.cs
- TraceSwitch.cs
- NoneExcludedImageIndexConverter.cs
- Vector3DAnimationBase.cs
- SessionParameter.cs
- LinearQuaternionKeyFrame.cs
- SiteMapProvider.cs
- EventProxy.cs
- BamlBinaryReader.cs
- CollectionEditVerbManager.cs
- ComplexObject.cs
- CheckBox.cs
- ToolStripDropDownClosedEventArgs.cs
- SortFieldComparer.cs
- SqlDataSourceTableQuery.cs
- BulletedList.cs
- UIElementParagraph.cs
- DiscoveryMessageSequenceGenerator.cs
- MachineKeyConverter.cs
- NumericUpDownAccelerationCollection.cs
- MediaElement.cs
- Psha1DerivedKeyGenerator.cs
- CompileXomlTask.cs
- AnnotationResourceCollection.cs
- DataGridViewAdvancedBorderStyle.cs
- SwitchAttribute.cs
- TextEmbeddedObject.cs
- CodeExporter.cs
- TableColumnCollection.cs
- SafeNativeHandle.cs
- FontDriver.cs
- TraceContext.cs
- Slider.cs
- BinHexEncoding.cs
- webbrowsersite.cs
- HotSpotCollection.cs
- SubMenuStyleCollection.cs
- MSAAEventDispatcher.cs
- XmlReaderSettings.cs
- SortAction.cs
- HwndAppCommandInputProvider.cs
- StaticDataManager.cs
- contentDescriptor.cs
- ParameterModifier.cs
- CheckBoxList.cs
- XmlParserContext.cs
- MimeMapping.cs
- DataTable.cs
- Baml2006Reader.cs
- FirstQueryOperator.cs
- ComUdtElement.cs
- PathSegment.cs
- ProgressBar.cs
- BulletChrome.cs
- PolicyManager.cs
- WebPartConnectionsCancelEventArgs.cs
- TextServicesCompartmentContext.cs
- ResolveDuplexAsyncResult.cs
- DesignerWidgets.cs
- SQLDateTimeStorage.cs
- FontUnitConverter.cs
- XmlQueryContext.cs
- IItemProperties.cs
- InkCanvasAutomationPeer.cs