Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / Diagnostics / CorrelationManager.cs / 1305376 / 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
- BidPrivateBase.cs
- NotifyInputEventArgs.cs
- DesignerActionKeyboardBehavior.cs
- XmlFormatWriterGenerator.cs
- EmptyWithCancelationCheckWorkItem.cs
- ModifierKeysValueSerializer.cs
- XmlSchemaSimpleContent.cs
- ExpressionNode.cs
- GeometryModel3D.cs
- HwndMouseInputProvider.cs
- EmptyControlCollection.cs
- TreeViewImageKeyConverter.cs
- ErrorStyle.cs
- TableLayoutPanel.cs
- TemplatedControlDesigner.cs
- XmlRootAttribute.cs
- MdiWindowListItemConverter.cs
- PrintPageEvent.cs
- InternalCache.cs
- smtppermission.cs
- StatusBar.cs
- XamlStyleSerializer.cs
- BoundField.cs
- FixedDocument.cs
- AutomationIdentifier.cs
- CaseInsensitiveHashCodeProvider.cs
- Certificate.cs
- EventLogger.cs
- WebZoneDesigner.cs
- COM2TypeInfoProcessor.cs
- Rotation3DKeyFrameCollection.cs
- ColorConverter.cs
- EqualityComparer.cs
- HostExecutionContextManager.cs
- IResourceProvider.cs
- SingleAnimation.cs
- SecurityState.cs
- TablePattern.cs
- SortQuery.cs
- RenderOptions.cs
- DataGridColumnReorderingEventArgs.cs
- __FastResourceComparer.cs
- FileVersionInfo.cs
- DelegateTypeInfo.cs
- AsyncPostBackTrigger.cs
- LogAppendAsyncResult.cs
- WebPartUserCapability.cs
- InputBinder.cs
- IntegerValidatorAttribute.cs
- ExecutedRoutedEventArgs.cs
- BitmapMetadata.cs
- ItemDragEvent.cs
- Matrix.cs
- TextRangeEdit.cs
- Assembly.cs
- RegisteredScript.cs
- Shared.cs
- FormViewCommandEventArgs.cs
- DefaultValueConverter.cs
- Exceptions.cs
- EncryptedReference.cs
- InternalBufferManager.cs
- SoapMessage.cs
- SynchronizationLockException.cs
- DetailsViewUpdatedEventArgs.cs
- DataTableReader.cs
- InfoCardArgumentException.cs
- ClientOptions.cs
- Page.cs
- BinaryWriter.cs
- QuaternionValueSerializer.cs
- TaskForm.cs
- ManifestSignedXml.cs
- ListBoxAutomationPeer.cs
- TextEditorTables.cs
- Cursors.cs
- SymbolResolver.cs
- VBCodeProvider.cs
- BitmapEffect.cs
- FixedSOMImage.cs
- InstanceLockQueryResult.cs
- BrowserDefinition.cs
- cookie.cs
- Site.cs
- UnsafeNativeMethods.cs
- ReadOnlyCollectionBase.cs
- OleDbReferenceCollection.cs
- TextParagraph.cs
- XmlSchemaNotation.cs
- Match.cs
- DebugView.cs
- WebSysDescriptionAttribute.cs
- WebServiceMethodData.cs
- NativeMethods.cs
- DrawingBrush.cs
- ComboBoxRenderer.cs
- WorkflowApplicationCompletedException.cs
- StringAttributeCollection.cs
- ActivityBindForm.cs
- DirectoryObjectSecurity.cs