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
- DesignTimeVisibleAttribute.cs
- VectorValueSerializer.cs
- ListViewAutomationPeer.cs
- BCryptNative.cs
- ViewStateException.cs
- BindUriHelper.cs
- HttpCapabilitiesSectionHandler.cs
- PackWebResponse.cs
- DirectionalLight.cs
- ExpressionEditor.cs
- BinaryObjectReader.cs
- AttributeAction.cs
- MsdtcWrapper.cs
- ValidationErrorInfo.cs
- DataGridViewColumn.cs
- CertificateElement.cs
- PhoneCallDesigner.cs
- DrawingGroup.cs
- ReadWriteSpinLock.cs
- errorpatternmatcher.cs
- DetailsViewUpdateEventArgs.cs
- MsdtcClusterUtils.cs
- ToolboxCategory.cs
- Atom10FormatterFactory.cs
- ResourceReferenceExpression.cs
- MenuItemStyleCollection.cs
- MemberAccessException.cs
- RangeBaseAutomationPeer.cs
- DispatcherOperation.cs
- TraceContext.cs
- FactoryId.cs
- Timeline.cs
- MetadataPropertyCollection.cs
- SimplePropertyEntry.cs
- ImageFormatConverter.cs
- RC2.cs
- IdentityNotMappedException.cs
- Debug.cs
- MouseCaptureWithinProperty.cs
- ImageMetadata.cs
- UserInitiatedNavigationPermission.cs
- _Events.cs
- Content.cs
- BaseConfigurationRecord.cs
- SchemaImporterExtension.cs
- securitycriticaldataClass.cs
- BindableTemplateBuilder.cs
- AvTraceDetails.cs
- TableColumn.cs
- ExtensionElementCollection.cs
- TreeIterators.cs
- SecondaryIndexDefinition.cs
- QueuePathEditor.cs
- SystemIPAddressInformation.cs
- RpcResponse.cs
- HitTestParameters.cs
- TextTreeInsertUndoUnit.cs
- CfgParser.cs
- GridViewRowCollection.cs
- OleDbEnumerator.cs
- ToolStripOverflowButton.cs
- DataBindingsDialog.cs
- WebPartHelpVerb.cs
- PeerTransportSecuritySettings.cs
- SqlDataSourceStatusEventArgs.cs
- XmlCharType.cs
- ProtocolsConfigurationEntry.cs
- SharedDp.cs
- ButtonStandardAdapter.cs
- WebPartActionVerb.cs
- NotifyCollectionChangedEventArgs.cs
- CorrelationManager.cs
- Configuration.cs
- EntitySetBase.cs
- WebExceptionStatus.cs
- QilXmlWriter.cs
- ListViewDeletedEventArgs.cs
- BatchServiceHost.cs
- DataGridViewCellCollection.cs
- Image.cs
- FamilyCollection.cs
- DataGridViewHitTestInfo.cs
- HwndSource.cs
- KeyManager.cs
- HwndSource.cs
- ColorConverter.cs
- XmlIlVisitor.cs
- Dictionary.cs
- AdapterDictionary.cs
- HandledEventArgs.cs
- SizeAnimationBase.cs
- ParserHooks.cs
- TypeInfo.cs
- DeclarationUpdate.cs
- TransformDescriptor.cs
- IdentityHolder.cs
- InlineUIContainer.cs
- StatusBarPanelClickEvent.cs
- WindowsGraphics.cs
- FactoryGenerator.cs