Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- EncodingTable.cs
- SafeSystemMetrics.cs
- SupportsEventValidationAttribute.cs
- ExceptionRoutedEventArgs.cs
- ExternalFile.cs
- WinEventTracker.cs
- WindowInteractionStateTracker.cs
- CompositeClientFormatter.cs
- SortExpressionBuilder.cs
- TableItemPatternIdentifiers.cs
- ItemsControlAutomationPeer.cs
- DataServices.cs
- DataGridViewSelectedCellCollection.cs
- HeaderCollection.cs
- TreeNodeClickEventArgs.cs
- ButtonFlatAdapter.cs
- AssemblyName.cs
- WinFormsUtils.cs
- WebPartVerb.cs
- TransformerInfoCollection.cs
- QilChoice.cs
- Oid.cs
- ClientTargetSection.cs
- CoreSwitches.cs
- MessageQueuePermissionEntry.cs
- OdbcConnectionHandle.cs
- OdbcError.cs
- HwndSourceKeyboardInputSite.cs
- CodeIdentifier.cs
- ConsoleEntryPoint.cs
- ReceiveSecurityHeaderElementManager.cs
- PrintDialog.cs
- TextTreeText.cs
- WpfPayload.cs
- GenericEnumConverter.cs
- SettingsContext.cs
- ReadOnlyMetadataCollection.cs
- ProtocolsConfiguration.cs
- MessageFilter.cs
- TriggerBase.cs
- UIElement3D.cs
- WinFormsComponentEditor.cs
- StyleCollectionEditor.cs
- DefaultTextStoreTextComposition.cs
- WebPartVerbsEventArgs.cs
- CodeDomSerializer.cs
- RelationshipConverter.cs
- VarRemapper.cs
- ZeroOpNode.cs
- XmlChoiceIdentifierAttribute.cs
- LoadWorkflowByKeyAsyncResult.cs
- HandlerBase.cs
- WebPartEditorApplyVerb.cs
- TagElement.cs
- InternalBase.cs
- RegisteredExpandoAttribute.cs
- CodePrimitiveExpression.cs
- SafeNativeMethods.cs
- selecteditemcollection.cs
- XamlClipboardData.cs
- WebPartEditorCancelVerb.cs
- SqlProfileProvider.cs
- PrinterResolution.cs
- DesignerDataRelationship.cs
- Int16KeyFrameCollection.cs
- GenericWebPart.cs
- InternalBufferOverflowException.cs
- LabelEditEvent.cs
- OleDbFactory.cs
- WindowsEditBoxRange.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- HandlerFactoryCache.cs
- TypedRowGenerator.cs
- MatchingStyle.cs
- ThemeableAttribute.cs
- GZipStream.cs
- BitConverter.cs
- OfTypeExpression.cs
- PageFunction.cs
- KeyInstance.cs
- AxisAngleRotation3D.cs
- CachingHintValidation.cs
- OdbcConnection.cs
- DSASignatureFormatter.cs
- WsrmMessageInfo.cs
- StrongNameUtility.cs
- ArithmeticLiteral.cs
- SynchronizationHandlesCodeDomSerializer.cs
- Rights.cs
- SelectorItemAutomationPeer.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- GenericPrincipal.cs
- EventDescriptorCollection.cs
- ConsumerConnectionPointCollection.cs
- BitmapImage.cs
- JournalEntryListConverter.cs
- SymLanguageVendor.cs
- Span.cs
- ChannelSinkStacks.cs
- ZipIOLocalFileHeader.cs