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
- CodeComment.cs
- ListSortDescription.cs
- GeometryHitTestResult.cs
- SQLBinaryStorage.cs
- SessionStateItemCollection.cs
- httpstaticobjectscollection.cs
- ZeroOpNode.cs
- SystemKeyConverter.cs
- OraclePermission.cs
- TextTreeInsertElementUndoUnit.cs
- ComplexTypeEmitter.cs
- HwndStylusInputProvider.cs
- AssociationEndMember.cs
- SoapHttpTransportImporter.cs
- WindowAutomationPeer.cs
- NameNode.cs
- ConnectAlgorithms.cs
- RemotingConfiguration.cs
- IncrementalReadDecoders.cs
- DrawingAttributeSerializer.cs
- ReversePositionQuery.cs
- HintTextMaxWidthConverter.cs
- Int64AnimationBase.cs
- HwndKeyboardInputProvider.cs
- XmlSerializer.cs
- LineProperties.cs
- RoutingExtension.cs
- HTMLTagNameToTypeMapper.cs
- Subset.cs
- Monitor.cs
- ReflectionTypeLoadException.cs
- Double.cs
- EdmMember.cs
- WindowsListViewGroupHelper.cs
- __Filters.cs
- TextDecorationCollection.cs
- CorruptingExceptionCommon.cs
- ClientUrlResolverWrapper.cs
- ListGeneralPage.cs
- LingerOption.cs
- ComplexBindingPropertiesAttribute.cs
- AppDomainGrammarProxy.cs
- SqlConnectionPoolProviderInfo.cs
- XpsFilter.cs
- KeyValueConfigurationElement.cs
- TreeNode.cs
- CodeTypeReferenceExpression.cs
- DataKey.cs
- HttpConfigurationContext.cs
- TypeConverterAttribute.cs
- PageCatalogPartDesigner.cs
- ScrollContentPresenter.cs
- SqlDataSourceEnumerator.cs
- EventRecordWrittenEventArgs.cs
- ProjectionCamera.cs
- MediaContext.cs
- XmlReturnWriter.cs
- NativeMethods.cs
- CommandHelper.cs
- DynamicValidator.cs
- OutOfProcStateClientManager.cs
- TextRunProperties.cs
- Transactions.cs
- TickBar.cs
- Effect.cs
- OrderByExpression.cs
- TextEndOfLine.cs
- FlowLayoutPanel.cs
- ProcessManager.cs
- updateconfighost.cs
- ImageMetadata.cs
- TTSEngineProxy.cs
- NotifyParentPropertyAttribute.cs
- ConfigurationHelpers.cs
- BasicCellRelation.cs
- QuarticEase.cs
- ConfigurationPropertyAttribute.cs
- WeakReferenceList.cs
- UpdatePanelTrigger.cs
- EntityModelBuildProvider.cs
- DataGridView.cs
- RijndaelManaged.cs
- PrePostDescendentsWalker.cs
- TypeExtensionConverter.cs
- TemplateControlCodeDomTreeGenerator.cs
- BooleanKeyFrameCollection.cs
- IndexedString.cs
- PriorityBindingExpression.cs
- MetadataImporter.cs
- MachineKey.cs
- CommandBinding.cs
- WebBrowserEvent.cs
- TCPListener.cs
- CurrencyManager.cs
- CommandConverter.cs
- SqlTriggerAttribute.cs
- CompositeDispatchFormatter.cs
- CodeCastExpression.cs
- MSAAWinEventWrap.cs
- Stackframe.cs