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
- RepeaterCommandEventArgs.cs
- SqlMethodCallConverter.cs
- ClientSettingsSection.cs
- FileAuthorizationModule.cs
- EntityContainerEmitter.cs
- MenuAdapter.cs
- SqlFunctionAttribute.cs
- ValidationError.cs
- lengthconverter.cs
- BaseDataListDesigner.cs
- ErrorTableItemStyle.cs
- UshortList2.cs
- DataGridRowClipboardEventArgs.cs
- AttributeQuery.cs
- Rules.cs
- SafeFindHandle.cs
- LinearKeyFrames.cs
- ProcessThreadCollection.cs
- DefaultShape.cs
- CompilerGlobalScopeAttribute.cs
- MenuStrip.cs
- HtmlSelect.cs
- HotCommands.cs
- ContextMenuStrip.cs
- UriExt.cs
- SwitchAttribute.cs
- ChannelTerminatedException.cs
- XmlAttributeCache.cs
- ApplicationFileParser.cs
- Schema.cs
- MasterPageParser.cs
- SortableBindingList.cs
- Activator.cs
- ReachObjectContext.cs
- CursorConverter.cs
- CustomErrorsSection.cs
- HttpModuleActionCollection.cs
- EntitySqlQueryBuilder.cs
- COM2Enum.cs
- MailHeaderInfo.cs
- CommentEmitter.cs
- ThemeDictionaryExtension.cs
- TransformationRules.cs
- ApplicationManager.cs
- EntityDataSourceChangedEventArgs.cs
- QilExpression.cs
- EDesignUtil.cs
- SecurityPolicySection.cs
- EntityDataSourceDataSelectionPanel.cs
- XmlILOptimizerVisitor.cs
- XmlSerializerVersionAttribute.cs
- Polyline.cs
- MemberAssignmentAnalysis.cs
- Quaternion.cs
- WindowsListBox.cs
- Visual3D.cs
- PtsHelper.cs
- GridPatternIdentifiers.cs
- XmlUnspecifiedAttribute.cs
- CharEnumerator.cs
- SendKeys.cs
- ServiceOperationParameter.cs
- updatecommandorderer.cs
- ProvidersHelper.cs
- FileDialog_Vista_Interop.cs
- Sequence.cs
- WebZone.cs
- GenericWebPart.cs
- OleServicesContext.cs
- DataGridColumn.cs
- PrintControllerWithStatusDialog.cs
- TextRangeBase.cs
- AliasGenerator.cs
- TemplateDefinition.cs
- DecoratedNameAttribute.cs
- SchemaCollectionPreprocessor.cs
- ListViewSortEventArgs.cs
- XsltOutput.cs
- Html32TextWriter.cs
- CultureInfo.cs
- TcpChannelHelper.cs
- X509KeyIdentifierClauseType.cs
- ConvertEvent.cs
- RemoteEndpointMessageProperty.cs
- SelectionItemProviderWrapper.cs
- XmlSchemaSimpleTypeUnion.cs
- MarginCollapsingState.cs
- HttpCookiesSection.cs
- ExtendedProtectionPolicy.cs
- SelectionPattern.cs
- DurationConverter.cs
- DataListItem.cs
- iisPickupDirectory.cs
- SevenBitStream.cs
- PropertyValueChangedEvent.cs
- RotateTransform3D.cs
- DynamicFilter.cs
- EntityDataSourceConfigureObjectContext.cs
- SQLByteStorage.cs
- ProfileEventArgs.cs