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
- AttributedMetaModel.cs
- XmlSortKey.cs
- CompilerScopeManager.cs
- SystemDiagnosticsSection.cs
- BitmapSizeOptions.cs
- DataGridViewRowStateChangedEventArgs.cs
- XslTransformFileEditor.cs
- ToolboxItemAttribute.cs
- Unit.cs
- CharAnimationBase.cs
- TempFiles.cs
- LineSegment.cs
- CompatibleIComparer.cs
- EdmTypeAttribute.cs
- SetStateEventArgs.cs
- Visual3DCollection.cs
- XmlUtf8RawTextWriter.cs
- CompositeScriptReferenceEventArgs.cs
- Effect.cs
- ProxyWebPart.cs
- CryptoHandle.cs
- Base64Decoder.cs
- ComponentResourceManager.cs
- WebPartConnectionsEventArgs.cs
- UriExt.cs
- Visual3D.cs
- PictureBoxDesigner.cs
- CommonDialog.cs
- FontFamily.cs
- BufferedGraphicsContext.cs
- SemaphoreSlim.cs
- PieceDirectory.cs
- MasterPage.cs
- ConcurrentBag.cs
- HtmlImage.cs
- ResolveDuplexAsyncResult.cs
- OleDbConnectionFactory.cs
- DataGridPagerStyle.cs
- Timer.cs
- TcpTransportElement.cs
- HwndSourceParameters.cs
- SizeLimitedCache.cs
- PtsContext.cs
- WindowsImpersonationContext.cs
- PriorityBindingExpression.cs
- SafeTokenHandle.cs
- PropertyTab.cs
- DTCTransactionManager.cs
- AutoGeneratedFieldProperties.cs
- EventLogEntry.cs
- InputLangChangeEvent.cs
- ErasingStroke.cs
- EntityDataSourceWrapperCollection.cs
- DbDataRecord.cs
- CfgRule.cs
- OleDbRowUpdatedEvent.cs
- CancellationToken.cs
- EntityTypeEmitter.cs
- DataService.cs
- ToolStripRenderEventArgs.cs
- ServiceHttpHandlerFactory.cs
- HostedElements.cs
- ChtmlTextWriter.cs
- ToolStripManager.cs
- WmlImageAdapter.cs
- ControlPersister.cs
- CompilationUnit.cs
- CultureInfoConverter.cs
- ChannelEndpointElement.cs
- TemplateBuilder.cs
- SmiSettersStream.cs
- AuthenticationSection.cs
- DataGridViewCellValidatingEventArgs.cs
- KeyInstance.cs
- ListViewItem.cs
- FileDialogCustomPlace.cs
- MemoryMappedFileSecurity.cs
- xamlnodes.cs
- DocumentOrderQuery.cs
- TakeOrSkipWhileQueryOperator.cs
- BufferedStream.cs
- TextBoxAutomationPeer.cs
- ComNativeDescriptor.cs
- GenericUriParser.cs
- EdmToObjectNamespaceMap.cs
- SourceChangedEventArgs.cs
- CompoundFileIOPermission.cs
- Listbox.cs
- FloaterBaseParagraph.cs
- ScaleTransform.cs
- HttpResponseHeader.cs
- Int32Rect.cs
- TextTabProperties.cs
- FactoryGenerator.cs
- DataMember.cs
- FormViewRow.cs
- MetadataItem_Static.cs
- SqlCacheDependencyDatabase.cs
- WebRequestModulesSection.cs
- ConfigurationSectionGroup.cs