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
- ThreadStaticAttribute.cs
- RC2CryptoServiceProvider.cs
- DeviceContexts.cs
- AsyncCompletedEventArgs.cs
- AuthenticationModulesSection.cs
- ZipFileInfoCollection.cs
- GestureRecognitionResult.cs
- EncryptedData.cs
- EnvironmentPermission.cs
- oledbmetadatacolumnnames.cs
- UriTemplateMatch.cs
- CustomExpression.cs
- ResourcePart.cs
- GeneralTransform.cs
- ImageSourceValueSerializer.cs
- Journaling.cs
- BrowserCapabilitiesCompiler.cs
- SEHException.cs
- ToolStripPanelDesigner.cs
- ParseHttpDate.cs
- WebPart.cs
- TimeEnumHelper.cs
- XmlIgnoreAttribute.cs
- HttpDictionary.cs
- RowToFieldTransformer.cs
- Validator.cs
- ThicknessAnimation.cs
- SafeEventLogWriteHandle.cs
- Registry.cs
- ServiceOperationHelpers.cs
- SafeFileMappingHandle.cs
- XmlCodeExporter.cs
- CodeAccessPermission.cs
- SqlError.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- MaterialCollection.cs
- LinqDataSourceEditData.cs
- SerializationInfoEnumerator.cs
- OracleCommand.cs
- ProfileSettingsCollection.cs
- EditorAttribute.cs
- ButtonBaseAutomationPeer.cs
- DataControlFieldCell.cs
- RedistVersionInfo.cs
- BoundingRectTracker.cs
- ColumnResizeAdorner.cs
- CodeTypeDeclarationCollection.cs
- Stack.cs
- RelationshipConstraintValidator.cs
- PasswordTextNavigator.cs
- AxParameterData.cs
- WorkerRequest.cs
- XhtmlBasicControlAdapter.cs
- ComponentChangedEvent.cs
- ContainerAction.cs
- SynchronizationContext.cs
- RealizationDrawingContextWalker.cs
- GenericEnumConverter.cs
- ProvidePropertyAttribute.cs
- ToolStripEditorManager.cs
- DeflateStream.cs
- AdapterUtil.cs
- URLString.cs
- Main.cs
- VectorCollection.cs
- JapaneseLunisolarCalendar.cs
- GeneralTransform.cs
- ContentWrapperAttribute.cs
- LinkButton.cs
- SHA256Managed.cs
- SessionPageStateSection.cs
- OpenTypeLayoutCache.cs
- BooleanExpr.cs
- Cell.cs
- TheQuery.cs
- DataGridViewTextBoxColumn.cs
- MatrixIndependentAnimationStorage.cs
- CreateUserWizardAutoFormat.cs
- LayoutEditorPart.cs
- FactoryId.cs
- WorkflowPrinting.cs
- IndexedDataBuffer.cs
- TextEditorSelection.cs
- HttpsChannelListener.cs
- BindingFormattingDialog.cs
- AccessorTable.cs
- OrderedDictionaryStateHelper.cs
- HttpRawResponse.cs
- BasicExpandProvider.cs
- BitmapPalette.cs
- SyndicationItemFormatter.cs
- OrderPreservingMergeHelper.cs
- XPathNodeHelper.cs
- TableCell.cs
- EventLogEntryCollection.cs
- RectangleHotSpot.cs
- ColumnClickEvent.cs
- OrderedHashRepartitionEnumerator.cs
- TimelineCollection.cs
- MarkupCompilePass1.cs