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
- EdmComplexPropertyAttribute.cs
- MultipartContentParser.cs
- XD.cs
- BooleanAnimationUsingKeyFrames.cs
- TcpClientChannel.cs
- BindingMAnagerBase.cs
- LicenseException.cs
- PageEventArgs.cs
- ExtentCqlBlock.cs
- TraceContextEventArgs.cs
- XsdCachingReader.cs
- SqlMethodCallConverter.cs
- SmiRequestExecutor.cs
- DataControlFieldTypeEditor.cs
- NavigatorInput.cs
- Win32.cs
- ConnectionConsumerAttribute.cs
- ClockGroup.cs
- DragSelectionMessageFilter.cs
- PresentationTraceSources.cs
- XslCompiledTransform.cs
- PolicyException.cs
- CaretElement.cs
- panel.cs
- ResourceReferenceExpressionConverter.cs
- XmlWhitespace.cs
- OrderedHashRepartitionStream.cs
- DropTarget.cs
- NavigationPropertyAccessor.cs
- SystemMulticastIPAddressInformation.cs
- RequestStatusBarUpdateEventArgs.cs
- DisposableCollectionWrapper.cs
- WorkingDirectoryEditor.cs
- WebPartsSection.cs
- WorkerRequest.cs
- KeysConverter.cs
- WebBrowser.cs
- SizeChangedEventArgs.cs
- RegularExpressionValidator.cs
- ProfessionalColorTable.cs
- ContentElementAutomationPeer.cs
- ToolStripItemTextRenderEventArgs.cs
- MachineKeySection.cs
- ICspAsymmetricAlgorithm.cs
- SspiSafeHandles.cs
- DataGridViewCellStyleChangedEventArgs.cs
- WinEventQueueItem.cs
- keycontainerpermission.cs
- EntityReference.cs
- TextSearch.cs
- DataGridViewComboBoxCell.cs
- SHA256Managed.cs
- EntityClientCacheEntry.cs
- TypeElement.cs
- UnsafeNativeMethods.cs
- SiteMapNodeItemEventArgs.cs
- AttributeCollection.cs
- TemplateBamlTreeBuilder.cs
- RubberbandSelector.cs
- GroupQuery.cs
- EntityDataSourceViewSchema.cs
- ResourceCategoryAttribute.cs
- AuthStoreRoleProvider.cs
- BooleanFunctions.cs
- Condition.cs
- LinqDataView.cs
- DoubleLink.cs
- ProcessStartInfo.cs
- SafeReversePInvokeHandle.cs
- ClientReliableChannelBinder.cs
- XmlQualifiedNameTest.cs
- KeyboardNavigation.cs
- DataGridViewIntLinkedList.cs
- SimpleExpression.cs
- Point4D.cs
- ThreadAbortException.cs
- RbTree.cs
- ManagementBaseObject.cs
- LookupNode.cs
- SystemDiagnosticsSection.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ResourceExpression.cs
- webclient.cs
- OdbcParameter.cs
- HttpHeaderCollection.cs
- ParallelTimeline.cs
- System.Data.OracleClient_BID.cs
- HostVisual.cs
- DateTimeFormatInfoScanner.cs
- SamlAuthorizationDecisionClaimResource.cs
- BitmapEffectState.cs
- CodeCommentStatementCollection.cs
- ShutDownListener.cs
- TableLayout.cs
- UserControlAutomationPeer.cs
- RuntimeIdentifierPropertyAttribute.cs
- ComplexTypeEmitter.cs
- Policy.cs
- HttpModulesSection.cs
- OdbcDataAdapter.cs