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
- GridViewAutomationPeer.cs
- ComboBox.cs
- Substitution.cs
- IssuanceTokenProviderBase.cs
- AuthenticationException.cs
- DataGridViewCellStateChangedEventArgs.cs
- DecimalAverageAggregationOperator.cs
- EnumCodeDomSerializer.cs
- Form.cs
- ResourceDictionary.cs
- PasswordDeriveBytes.cs
- UserNameSecurityTokenProvider.cs
- DynamicResourceExtension.cs
- InterleavedZipPartStream.cs
- SoapMessage.cs
- UidManager.cs
- EventLogPermission.cs
- TableLayoutPanel.cs
- ClickablePoint.cs
- TextMarkerSource.cs
- RuntimeConfigLKG.cs
- HandleTable.cs
- StyleHelper.cs
- HttpCookie.cs
- IdentitySection.cs
- BitmapEffectInputData.cs
- LogWriteRestartAreaAsyncResult.cs
- NavigateEvent.cs
- WebHttpSecurityElement.cs
- TextEditorTyping.cs
- BuildTopDownAttribute.cs
- DynamicPropertyHolder.cs
- Flowchart.cs
- CatalogZone.cs
- XmlSchemaObjectCollection.cs
- ZipIOCentralDirectoryBlock.cs
- oledbconnectionstring.cs
- IConvertible.cs
- ValueType.cs
- DataServiceProviderWrapper.cs
- DodSequenceMerge.cs
- HorizontalAlignConverter.cs
- SizeConverter.cs
- RawAppCommandInputReport.cs
- ScriptControl.cs
- DelimitedListTraceListener.cs
- GenericAuthenticationEventArgs.cs
- RowCache.cs
- ConfigurationStrings.cs
- ChangeInterceptorAttribute.cs
- ProtectedUri.cs
- WebPartConnectVerb.cs
- WebControlsSection.cs
- DateTimeParse.cs
- TCEAdapterGenerator.cs
- UInt64.cs
- SequenceDesigner.cs
- Model3DGroup.cs
- RectangleConverter.cs
- Mapping.cs
- CalendarTable.cs
- MobileContainerDesigner.cs
- CompModSwitches.cs
- WindowsRegion.cs
- TargetInvocationException.cs
- UriTemplate.cs
- OutputCacheModule.cs
- RequestBringIntoViewEventArgs.cs
- FigureParaClient.cs
- BindingSourceDesigner.cs
- Setter.cs
- RangeBase.cs
- RuntimeTransactionHandle.cs
- SubpageParagraph.cs
- NetworkInformationException.cs
- AlgoModule.cs
- MarkupExtensionSerializer.cs
- ExpressionEditorAttribute.cs
- Walker.cs
- wgx_exports.cs
- DesignerSerializationOptionsAttribute.cs
- cache.cs
- DoubleStorage.cs
- AutomationPeer.cs
- PolicyFactory.cs
- AdornerHitTestResult.cs
- DictationGrammar.cs
- ShutDownListener.cs
- ReadOnlyCollectionBase.cs
- Size3D.cs
- HttpListenerTimeoutManager.cs
- embossbitmapeffect.cs
- PolyBezierSegmentFigureLogic.cs
- ExtentKey.cs
- ModifierKeysConverter.cs
- SecurityPolicySection.cs
- TreeWalker.cs
- _ConnectionGroup.cs
- ScriptControlManager.cs
- externdll.cs