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
- OleDbSchemaGuid.cs
- TypeReference.cs
- XmlStreamStore.cs
- DecoderFallbackWithFailureFlag.cs
- Calendar.cs
- SharedPersonalizationStateInfo.cs
- ImageMapEventArgs.cs
- Panel.cs
- DataQuery.cs
- FormViewRow.cs
- HwndProxyElementProvider.cs
- ControlValuePropertyAttribute.cs
- SqlTypeConverter.cs
- Compress.cs
- XmlSchemaComplexContentExtension.cs
- ProfileManager.cs
- _NegoStream.cs
- CharacterMetrics.cs
- BrowserCapabilitiesCodeGenerator.cs
- PackWebRequest.cs
- COM2PropertyBuilderUITypeEditor.cs
- AsymmetricAlgorithm.cs
- Bitmap.cs
- DataGridViewDataConnection.cs
- FieldMetadata.cs
- TextWriter.cs
- mediapermission.cs
- MonthChangedEventArgs.cs
- MessageDescription.cs
- InstanceCreationEditor.cs
- QilBinary.cs
- DynamicILGenerator.cs
- HttpWebResponse.cs
- TableRow.cs
- RightsManagementPermission.cs
- TdsParserHelperClasses.cs
- EncoderExceptionFallback.cs
- MissingSatelliteAssemblyException.cs
- WsatConfiguration.cs
- CustomExpressionEventArgs.cs
- Win32.cs
- TextDecoration.cs
- CustomAttribute.cs
- CookielessHelper.cs
- KeyFrames.cs
- StackBuilderSink.cs
- DataException.cs
- Atom10ItemFormatter.cs
- XmlSchemaAnnotated.cs
- ExeContext.cs
- DataGridrowEditEndingEventArgs.cs
- OleDbInfoMessageEvent.cs
- Win32Interop.cs
- GlyphShapingProperties.cs
- Rotation3DAnimationBase.cs
- ListViewInsertedEventArgs.cs
- UnsafeNativeMethodsPenimc.cs
- SqlDeflator.cs
- ResourceReferenceExpressionConverter.cs
- _CacheStreams.cs
- SqlDelegatedTransaction.cs
- FixedTextContainer.cs
- ConfigurationElementProperty.cs
- Crypto.cs
- MessageBuffer.cs
- QuaternionRotation3D.cs
- Vector3DAnimationUsingKeyFrames.cs
- ResXResourceReader.cs
- CardSpacePolicyElement.cs
- SQLString.cs
- DataGridViewLinkColumn.cs
- ChannelManager.cs
- RuleRef.cs
- GZipDecoder.cs
- DecoderNLS.cs
- XPathDocument.cs
- ProfileSection.cs
- Double.cs
- XmlSchemaCollection.cs
- CellLabel.cs
- TabPanel.cs
- ZipIOCentralDirectoryBlock.cs
- ScriptMethodAttribute.cs
- LinearGradientBrush.cs
- PropertyGeneratedEventArgs.cs
- ItemList.cs
- ParallelTimeline.cs
- DecimalStorage.cs
- DeploymentSectionCache.cs
- RelatedCurrencyManager.cs
- RuntimeCompatibilityAttribute.cs
- EventLogTraceListener.cs
- XmlAttributeCollection.cs
- FixedElement.cs
- FilterQuery.cs
- CalendarTable.cs
- PropertyContainer.cs
- ComponentResourceKeyConverter.cs
- ScrollBar.cs
- HtmlTableCellCollection.cs