Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / System / Diagnostics / CorrelationManager.cs / 1 / CorrelationManager.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Specialized; using System.Threading; using System.Runtime.Remoting.Messaging; namespace System.Diagnostics { public class CorrelationManager { private const string transactionSlotName = "System.Diagnostics.Trace.CorrelationManagerSlot"; private const string activityIdSlotName = "E2ETrace.ActivityID"; internal CorrelationManager() { } public Guid ActivityId { get { Object id = CallContext.LogicalGetData(activityIdSlotName); if (id != null) return (Guid) id; else return Guid.Empty; } set { CallContext.LogicalSetData(activityIdSlotName, value); } } public Stack LogicalOperationStack { get { return GetLogicalOperationStack(); } } public void StartLogicalOperation(object operationId) { if (operationId == null) throw new ArgumentNullException("operationId"); Stack idStack = GetLogicalOperationStack(); idStack.Push(operationId); } public void StartLogicalOperation() { StartLogicalOperation(Guid.NewGuid()); } public void StopLogicalOperation() { Stack idStack = GetLogicalOperationStack(); idStack.Pop(); } private Stack GetLogicalOperationStack() { Stack idStack = CallContext.LogicalGetData(transactionSlotName) as Stack; if (idStack == null) { idStack = new Stack(); CallContext.LogicalSetData(transactionSlotName, idStack); } return idStack; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Specialized; using System.Threading; using System.Runtime.Remoting.Messaging; namespace System.Diagnostics { public class CorrelationManager { private const string transactionSlotName = "System.Diagnostics.Trace.CorrelationManagerSlot"; private const string activityIdSlotName = "E2ETrace.ActivityID"; internal CorrelationManager() { } public Guid ActivityId { get { Object id = CallContext.LogicalGetData(activityIdSlotName); if (id != null) return (Guid) id; else return Guid.Empty; } set { CallContext.LogicalSetData(activityIdSlotName, value); } } public Stack LogicalOperationStack { get { return GetLogicalOperationStack(); } } public void StartLogicalOperation(object operationId) { if (operationId == null) throw new ArgumentNullException("operationId"); Stack idStack = GetLogicalOperationStack(); idStack.Push(operationId); } public void StartLogicalOperation() { StartLogicalOperation(Guid.NewGuid()); } public void StopLogicalOperation() { Stack idStack = GetLogicalOperationStack(); idStack.Pop(); } private Stack GetLogicalOperationStack() { Stack idStack = CallContext.LogicalGetData(transactionSlotName) as Stack; if (idStack == null) { idStack = new Stack(); CallContext.LogicalSetData(transactionSlotName, idStack); } return idStack; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CheckBoxDesigner.cs
- QueryOutputWriter.cs
- unsafenativemethodstextservices.cs
- StringUtil.cs
- SerializationAttributes.cs
- Exceptions.cs
- _RequestCacheProtocol.cs
- UnsafeNativeMethods.cs
- SqlDependency.cs
- OrElse.cs
- EventLogPermissionEntryCollection.cs
- PixelShader.cs
- XmlSchemaFacet.cs
- ImpersonateTokenRef.cs
- SecureUICommand.cs
- TextEditorMouse.cs
- Grammar.cs
- NativeMethods.cs
- SourceChangedEventArgs.cs
- ValidationHelper.cs
- ContainerSelectorBehavior.cs
- TableItemPattern.cs
- HTMLTextWriter.cs
- FilterQuery.cs
- SecurityDescriptor.cs
- WebServiceParameterData.cs
- RuntimeHelpers.cs
- DecoderNLS.cs
- Activity.cs
- Attribute.cs
- BinHexDecoder.cs
- DocumentOrderQuery.cs
- SignatureResourcePool.cs
- TextServicesContext.cs
- HttpCachePolicy.cs
- DockingAttribute.cs
- CompilationRelaxations.cs
- HttpWebResponse.cs
- wgx_commands.cs
- MenuItemBindingCollection.cs
- ResourceAttributes.cs
- SchemaEntity.cs
- SmiXetterAccessMap.cs
- IPHostEntry.cs
- panel.cs
- ListBindableAttribute.cs
- PieceNameHelper.cs
- EventEntry.cs
- ErrorFormatterPage.cs
- UITypeEditors.cs
- ApplyImportsAction.cs
- PropertyOrder.cs
- DoubleLink.cs
- X509Chain.cs
- WizardPanelChangingEventArgs.cs
- BitStack.cs
- WebConfigurationFileMap.cs
- WebPartCatalogCloseVerb.cs
- InplaceBitmapMetadataWriter.cs
- XmlDownloadManager.cs
- WebPartCloseVerb.cs
- GlobalDataBindingHandler.cs
- ReadOnlyTernaryTree.cs
- MaxValueConverter.cs
- BuildTopDownAttribute.cs
- AllMembershipCondition.cs
- ByteAnimationUsingKeyFrames.cs
- elementinformation.cs
- assemblycache.cs
- WindowsListBox.cs
- StdValidatorsAndConverters.cs
- MimeBasePart.cs
- DiagnosticsConfiguration.cs
- SimpleLine.cs
- ExpressionBuilderCollection.cs
- FileStream.cs
- CustomAttributeSerializer.cs
- DataBoundLiteralControl.cs
- TreeIterators.cs
- CacheSection.cs
- ExpressionBuilder.cs
- WebPartRestoreVerb.cs
- Serializer.cs
- DataGridItemEventArgs.cs
- SubstitutionList.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ListViewDeletedEventArgs.cs
- SqlReorderer.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- BitmapImage.cs
- CssTextWriter.cs
- CompressedStack.cs
- XdrBuilder.cs
- DateTimeUtil.cs
- ClockGroup.cs
- ExtendedProperty.cs
- EntityContainerAssociationSet.cs
- ItemsChangedEventArgs.cs
- CompareValidator.cs
- XmlSchemaParticle.cs