Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- ValidatorCompatibilityHelper.cs
- ProfileWorkflowElement.cs
- SelectedDatesCollection.cs
- GradientSpreadMethodValidation.cs
- SizeFConverter.cs
- SspiWrapper.cs
- BooleanAnimationUsingKeyFrames.cs
- ListCollectionView.cs
- XmlComment.cs
- RowsCopiedEventArgs.cs
- __FastResourceComparer.cs
- TextBoxAutomationPeer.cs
- SelfIssuedSamlTokenFactory.cs
- ReadOnlyHierarchicalDataSource.cs
- FileSecurity.cs
- Latin1Encoding.cs
- InkPresenterAutomationPeer.cs
- NonVisualControlAttribute.cs
- QuaternionIndependentAnimationStorage.cs
- DataObjectFieldAttribute.cs
- ContentValidator.cs
- ByteArrayHelperWithString.cs
- RuleSettingsCollection.cs
- FormViewDeletedEventArgs.cs
- ObjectDataSourceDisposingEventArgs.cs
- MSG.cs
- AuthenticationSection.cs
- GenericWebPart.cs
- EncoderExceptionFallback.cs
- Condition.cs
- WarningException.cs
- BindingList.cs
- MouseEvent.cs
- SecurityUniqueId.cs
- ListItemConverter.cs
- IIS7WorkerRequest.cs
- ToolStripContainerDesigner.cs
- BasicHttpBindingCollectionElement.cs
- PropertyValueChangedEvent.cs
- SoapException.cs
- BrowserDefinition.cs
- PackWebResponse.cs
- Single.cs
- LayoutUtils.cs
- ResourceAssociationSet.cs
- ZipIOExtraFieldZip64Element.cs
- ProjectionAnalyzer.cs
- PenCursorManager.cs
- KeyedPriorityQueue.cs
- UrlMappingCollection.cs
- ToolStripGripRenderEventArgs.cs
- Fx.cs
- DataMemberFieldEditor.cs
- NotSupportedException.cs
- CaseInsensitiveHashCodeProvider.cs
- Unit.cs
- MouseGestureConverter.cs
- DocumentStream.cs
- Properties.cs
- DbXmlEnabledProviderManifest.cs
- StrokeCollectionDefaultValueFactory.cs
- GeometryValueSerializer.cs
- Highlights.cs
- _LocalDataStore.cs
- HostUtils.cs
- CqlIdentifiers.cs
- NativeMethods.cs
- BindingMemberInfo.cs
- QueryMatcher.cs
- VirtualDirectoryMappingCollection.cs
- PackageDigitalSignature.cs
- KeyBinding.cs
- LinearKeyFrames.cs
- SqlDataSourceQueryEditor.cs
- SizeChangedEventArgs.cs
- Assembly.cs
- DataGridViewCellStyleConverter.cs
- XPathConvert.cs
- TrackingExtract.cs
- ApplicationDirectory.cs
- HostingEnvironmentException.cs
- Baml6Assembly.cs
- Zone.cs
- RewritingValidator.cs
- CodePrimitiveExpression.cs
- DesignerTransaction.cs
- GorillaCodec.cs
- WindowAutomationPeer.cs
- ProjectionCamera.cs
- ResourceManager.cs
- SmiRecordBuffer.cs
- ExceptionRoutedEventArgs.cs
- _ConnectStream.cs
- CallId.cs
- RelationshipNavigation.cs
- StateItem.cs
- SmtpReplyReader.cs
- ScrollChrome.cs
- MessageEventSubscriptionService.cs
- SqlCachedBuffer.cs