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
- LinqDataSourceDeleteEventArgs.cs
- SerializationAttributes.cs
- UnsafeNativeMethodsCLR.cs
- DeferredReference.cs
- StreamResourceInfo.cs
- XmlSchemaAttributeGroup.cs
- InProcStateClientManager.cs
- GenericXmlSecurityToken.cs
- QuotedStringFormatReader.cs
- MethodToken.cs
- SystemColors.cs
- KeysConverter.cs
- FileChangeNotifier.cs
- TypeUtil.cs
- RegexTypeEditor.cs
- InvalidComObjectException.cs
- FigureHelper.cs
- GetIndexBinder.cs
- DeclarativeExpressionConditionDeclaration.cs
- Brushes.cs
- ShaderRenderModeValidation.cs
- XhtmlBasicFormAdapter.cs
- mactripleDES.cs
- LabelLiteral.cs
- ConfigWriter.cs
- ResourcePool.cs
- ProviderConnectionPoint.cs
- XamlToRtfWriter.cs
- NavigationPropertyEmitter.cs
- RichTextBox.cs
- OracleInternalConnection.cs
- XmlExpressionDumper.cs
- DoubleStorage.cs
- RuntimeConfigLKG.cs
- DbConnectionOptions.cs
- XmlAutoDetectWriter.cs
- DrawingAttributesDefaultValueFactory.cs
- ValueUtilsSmi.cs
- ResourcePool.cs
- selecteditemcollection.cs
- WindowsToolbarItemAsMenuItem.cs
- TrackingProvider.cs
- DataGridViewSelectedRowCollection.cs
- MultiTouchSystemGestureLogic.cs
- ApplicationId.cs
- ColorAnimationUsingKeyFrames.cs
- WSSecurityPolicy11.cs
- AutomationElementIdentifiers.cs
- FormattedTextSymbols.cs
- Int32AnimationUsingKeyFrames.cs
- XmlSchemaSet.cs
- EdmToObjectNamespaceMap.cs
- SettingsAttributeDictionary.cs
- GlyphingCache.cs
- ErrorFormatter.cs
- CTreeGenerator.cs
- ImageButton.cs
- DataListItem.cs
- DataSourceHelper.cs
- SystemColors.cs
- AttributeQuery.cs
- FunctionNode.cs
- SizeKeyFrameCollection.cs
- DataBoundControlAdapter.cs
- ObjectContextServiceProvider.cs
- PartialCachingAttribute.cs
- XmlSerializerImportOptions.cs
- EntityWithChangeTrackerStrategy.cs
- CustomValidator.cs
- OutOfMemoryException.cs
- ViewManager.cs
- X509Utils.cs
- ReaderOutput.cs
- XmlSerializer.cs
- XmlSequenceWriter.cs
- EventLogPermissionEntry.cs
- XmlIterators.cs
- LinkedResource.cs
- Win32NamedPipes.cs
- RowCache.cs
- DataGridViewRowStateChangedEventArgs.cs
- AddInIpcChannel.cs
- NotifyParentPropertyAttribute.cs
- StrongNameIdentityPermission.cs
- RemotingException.cs
- ConfigurationElement.cs
- StreamGeometryContext.cs
- MultipleViewPattern.cs
- RuleSetBrowserDialog.cs
- MultiDataTrigger.cs
- EventLogger.cs
- ApplicationBuildProvider.cs
- AssociationSetMetadata.cs
- DelegatedStream.cs
- BinarySerializer.cs
- SafeFileMappingHandle.cs
- DataGridViewRowConverter.cs
- StaticResourceExtension.cs
- WindowProviderWrapper.cs
- RNGCryptoServiceProvider.cs