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
- Normalization.cs
- CheckBoxField.cs
- CustomValidator.cs
- CompositeTypefaceMetrics.cs
- ExchangeUtilities.cs
- SpecialFolderEnumConverter.cs
- FormsAuthenticationUser.cs
- DataViewSettingCollection.cs
- CookieParameter.cs
- QilBinary.cs
- XmlEnumAttribute.cs
- ExceptionUtil.cs
- _SslStream.cs
- EventDescriptorCollection.cs
- NavigationEventArgs.cs
- CodeCommentStatement.cs
- TransportContext.cs
- CharKeyFrameCollection.cs
- HtmlShim.cs
- Model3DGroup.cs
- ArrayList.cs
- WSFederationHttpSecurityMode.cs
- PopupControlService.cs
- CurrencyManager.cs
- TraceSection.cs
- CodeDefaultValueExpression.cs
- ProfileSection.cs
- ExpressionEditorAttribute.cs
- SupportingTokenListenerFactory.cs
- TextEndOfParagraph.cs
- ResourceDisplayNameAttribute.cs
- ObfuscateAssemblyAttribute.cs
- ConfigUtil.cs
- SettingsProviderCollection.cs
- EntityClientCacheEntry.cs
- COM2ExtendedUITypeEditor.cs
- InputDevice.cs
- LicenseContext.cs
- GenericEnumerator.cs
- ColumnWidthChangingEvent.cs
- ExceptionUtil.cs
- SecurityElement.cs
- XmlLoader.cs
- SharedUtils.cs
- OutputCacheEntry.cs
- SHA512Managed.cs
- RolePrincipal.cs
- _AuthenticationState.cs
- ColumnHeader.cs
- ExitEventArgs.cs
- IssuanceTokenProviderState.cs
- TypeUtils.cs
- UpdateTracker.cs
- DiagnosticStrings.cs
- Choices.cs
- MouseOverProperty.cs
- TypeViewSchema.cs
- EndpointAddressAugust2004.cs
- UInt16.cs
- basevalidator.cs
- input.cs
- SubstitutionDesigner.cs
- FixedTextContainer.cs
- SingleKeyFrameCollection.cs
- PointValueSerializer.cs
- WebDisplayNameAttribute.cs
- ByteAnimationBase.cs
- DisplayInformation.cs
- ByteStorage.cs
- QuaternionAnimationBase.cs
- PropertyTab.cs
- WmpBitmapEncoder.cs
- Internal.cs
- Collection.cs
- DynamicDataExtensions.cs
- GridViewUpdateEventArgs.cs
- AlphabeticalEnumConverter.cs
- Win32Exception.cs
- TypeConverterAttribute.cs
- SQLBinary.cs
- ParameterToken.cs
- UrlAuthorizationModule.cs
- UInt32.cs
- WebControl.cs
- Html32TextWriter.cs
- ColumnMapCopier.cs
- PtsPage.cs
- RegistrationServices.cs
- CellParagraph.cs
- _BasicClient.cs
- NameSpaceExtractor.cs
- QueryCacheKey.cs
- EdmSchemaError.cs
- CanonicalXml.cs
- SqlNodeTypeOperators.cs
- Section.cs
- ScriptMethodAttribute.cs
- ConversionHelper.cs
- AstNode.cs
- SerializationEventsCache.cs