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
- SettingsAttributes.cs
- BasicKeyConstraint.cs
- XmlIncludeAttribute.cs
- StrokeSerializer.cs
- TextDecorationCollection.cs
- ReadOnlyCollectionBuilder.cs
- UriScheme.cs
- SecurityTokenInclusionMode.cs
- SubpageParaClient.cs
- XmlComment.cs
- Material.cs
- TableItemPattern.cs
- FontCollection.cs
- DefaultValidator.cs
- ClientSponsor.cs
- StrokeNodeOperations2.cs
- InternalsVisibleToAttribute.cs
- GuidelineCollection.cs
- DataSourceXmlTextReader.cs
- TreeWalker.cs
- ReadWriteSpinLock.cs
- WindowsGraphicsWrapper.cs
- DefaultTextStoreTextComposition.cs
- DbTransaction.cs
- ReliableSessionBindingElementImporter.cs
- Int16.cs
- MasterPage.cs
- TraceSection.cs
- ComplexTypeEmitter.cs
- TouchPoint.cs
- TimeSpanParse.cs
- GifBitmapDecoder.cs
- DataGridViewCellEventArgs.cs
- ConfigDefinitionUpdates.cs
- MaxValueConverter.cs
- PropertyEmitterBase.cs
- ToolStripDropDownClosingEventArgs.cs
- BitmapEffectGeneralTransform.cs
- SizeValueSerializer.cs
- DataGridHeaderBorder.cs
- ColorTranslator.cs
- TypeDescriptionProviderAttribute.cs
- DefaultPropertyAttribute.cs
- RijndaelCryptoServiceProvider.cs
- RelationshipType.cs
- DataGrid.cs
- RelationshipDetailsRow.cs
- GeometryGroup.cs
- SqlMethodAttribute.cs
- XmlMtomReader.cs
- TabPanel.cs
- LinqDataSourceInsertEventArgs.cs
- HostedHttpTransportManager.cs
- QueryStringHandler.cs
- StylusPointPropertyId.cs
- CacheManager.cs
- Attributes.cs
- XmlTextEncoder.cs
- DataSourceControl.cs
- SymbolPair.cs
- AutoGeneratedFieldProperties.cs
- DataGridViewLinkColumn.cs
- TemplateNameScope.cs
- XmlSchemaObject.cs
- DataGridTablesFactory.cs
- WebServiceClientProxyGenerator.cs
- DataControlImageButton.cs
- NativeCppClassAttribute.cs
- DifferencingCollection.cs
- CultureSpecificCharacterBufferRange.cs
- EventLog.cs
- MenuAutoFormat.cs
- OdbcInfoMessageEvent.cs
- ByteStorage.cs
- FloatUtil.cs
- WebPartVerbCollection.cs
- MessageLoggingFilterTraceRecord.cs
- GeneralTransform3DTo2DTo3D.cs
- UserControlBuildProvider.cs
- XamlTemplateSerializer.cs
- ResourcePool.cs
- ObjectDataSourceMethodEventArgs.cs
- WorkflowWebHostingModule.cs
- coordinatorscratchpad.cs
- MergeFilterQuery.cs
- RenderCapability.cs
- RtfControls.cs
- PropertyGridView.cs
- QuestionEventArgs.cs
- BatchWriter.cs
- SqlMetaData.cs
- EmbeddedMailObject.cs
- PromptStyle.cs
- XmlCollation.cs
- ControlIdConverter.cs
- GetPageCompletedEventArgs.cs
- ProcessHostMapPath.cs
- PassportIdentity.cs
- ContractMethodParameterInfo.cs
- CompositeControl.cs