Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DesignSurfaceEvent.cs
- ControlBuilderAttribute.cs
- HybridCollection.cs
- PerformanceCounterPermissionEntry.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- sqlnorm.cs
- DataGridToolTip.cs
- Package.cs
- TimeIntervalCollection.cs
- Block.cs
- TrackBarDesigner.cs
- ErrorFormatterPage.cs
- ReaderOutput.cs
- FileIOPermission.cs
- safex509handles.cs
- IndependentlyAnimatedPropertyMetadata.cs
- UriScheme.cs
- SafeNativeMethods.cs
- DateTimeStorage.cs
- SemanticResultKey.cs
- QueryOpcode.cs
- Button.cs
- LassoSelectionBehavior.cs
- ContextMenuService.cs
- TabControlCancelEvent.cs
- XmlSchemaSubstitutionGroup.cs
- Overlapped.cs
- SetIterators.cs
- UnsafeNativeMethods.cs
- CodeTypeConstructor.cs
- CalendarDesigner.cs
- SchemaCollectionPreprocessor.cs
- XmlElementAttributes.cs
- SimpleApplicationHost.cs
- DefaultWorkflowLoaderService.cs
- FormClosingEvent.cs
- SoapSchemaImporter.cs
- StateMachineExecutionState.cs
- ProxySimple.cs
- PageRouteHandler.cs
- XPathNode.cs
- ResXFileRef.cs
- EdmRelationshipRoleAttribute.cs
- TraceSection.cs
- XPathMessageFilterElement.cs
- OleDbReferenceCollection.cs
- DataSet.cs
- Decoder.cs
- MasterPageBuildProvider.cs
- unsafenativemethodstextservices.cs
- ClientUrlResolverWrapper.cs
- PublisherIdentityPermission.cs
- FontResourceCache.cs
- Module.cs
- HostingEnvironmentException.cs
- NetworkCredential.cs
- LiteralControl.cs
- SystemSounds.cs
- ResourceReader.cs
- DispatchWrapper.cs
- CountAggregationOperator.cs
- ReflectTypeDescriptionProvider.cs
- UnsafeNativeMethods.cs
- AsyncOperation.cs
- ListViewCancelEventArgs.cs
- BitmapCodecInfo.cs
- RangeValuePattern.cs
- PassportIdentity.cs
- DependencyPropertyAttribute.cs
- SoapServerMethod.cs
- DefaultValueAttribute.cs
- XslAstAnalyzer.cs
- XsdCachingReader.cs
- TextRange.cs
- XmlTypeAttribute.cs
- CommonDialog.cs
- MdImport.cs
- TriggerActionCollection.cs
- ResponseStream.cs
- ExpandableObjectConverter.cs
- XmlSchemaObject.cs
- EngineSiteSapi.cs
- SmiContext.cs
- VersionedStream.cs
- KeyValuePair.cs
- HttpHostedTransportConfiguration.cs
- LoginViewDesigner.cs
- ThreadAttributes.cs
- SimpleExpression.cs
- AsymmetricSignatureFormatter.cs
- DelegatedStream.cs
- TypedTableHandler.cs
- AnonymousIdentificationModule.cs
- DataSourceProvider.cs
- SqlBooleanizer.cs
- BitmapCodecInfo.cs
- AsyncPostBackErrorEventArgs.cs
- ZoneIdentityPermission.cs
- WebBrowser.cs
- AnnotationService.cs