Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / System / Diagnostics / TraceEventCache.cs / 1 / TraceEventCache.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Threading; using System.Security.Permissions; using System.Text; using System.Collections; using System.Globalization; namespace System.Diagnostics { public class TraceEventCache { private static int processId; private static string processName; private long timeStamp = -1; private DateTime dateTime = DateTime.MinValue; private string stackTrace = null; internal Guid ActivityId { get { return Trace.CorrelationManager.ActivityId; } } public string Callstack { get { if (stackTrace == null) stackTrace = Environment.StackTrace; else new EnvironmentPermission(PermissionState.Unrestricted).Demand(); return stackTrace; } } public Stack LogicalOperationStack { get { return Trace.CorrelationManager.LogicalOperationStack; } } public DateTime DateTime { get { if (dateTime == DateTime.MinValue) dateTime = DateTime.UtcNow; return dateTime; } } public int ProcessId { get { return GetProcessId(); } } public string ThreadId { get { return GetThreadId().ToString(CultureInfo.InvariantCulture); } } public long Timestamp { get { if (timeStamp == -1) timeStamp = Stopwatch.GetTimestamp(); return timeStamp ; } } internal void Clear() { timeStamp = -1; dateTime = DateTime.MinValue; stackTrace = null; } private static void InitProcessInfo() { // Demand unmanaged code permission new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand(); if (processName == null) { Process p = Process.GetCurrentProcess(); try { processId = p.Id; processName = p.ProcessName; } finally { p.Dispose(); } } } internal static int GetProcessId() { InitProcessInfo(); return processId; } internal static string GetProcessName() { InitProcessInfo(); return processName; } internal static int GetThreadId() { return Thread.CurrentThread.ManagedThreadId; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Threading; using System.Security.Permissions; using System.Text; using System.Collections; using System.Globalization; namespace System.Diagnostics { public class TraceEventCache { private static int processId; private static string processName; private long timeStamp = -1; private DateTime dateTime = DateTime.MinValue; private string stackTrace = null; internal Guid ActivityId { get { return Trace.CorrelationManager.ActivityId; } } public string Callstack { get { if (stackTrace == null) stackTrace = Environment.StackTrace; else new EnvironmentPermission(PermissionState.Unrestricted).Demand(); return stackTrace; } } public Stack LogicalOperationStack { get { return Trace.CorrelationManager.LogicalOperationStack; } } public DateTime DateTime { get { if (dateTime == DateTime.MinValue) dateTime = DateTime.UtcNow; return dateTime; } } public int ProcessId { get { return GetProcessId(); } } public string ThreadId { get { return GetThreadId().ToString(CultureInfo.InvariantCulture); } } public long Timestamp { get { if (timeStamp == -1) timeStamp = Stopwatch.GetTimestamp(); return timeStamp ; } } internal void Clear() { timeStamp = -1; dateTime = DateTime.MinValue; stackTrace = null; } private static void InitProcessInfo() { // Demand unmanaged code permission new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand(); if (processName == null) { Process p = Process.GetCurrentProcess(); try { processId = p.Id; processName = p.ProcessName; } finally { p.Dispose(); } } } internal static int GetProcessId() { InitProcessInfo(); return processId; } internal static string GetProcessName() { InitProcessInfo(); return processName; } internal static int GetThreadId() { return Thread.CurrentThread.ManagedThreadId; } } } // 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
- PreProcessor.cs
- OverlappedContext.cs
- DictionaryGlobals.cs
- XmlDataSourceNodeDescriptor.cs
- InvalidComObjectException.cs
- DocumentPage.cs
- TileBrush.cs
- XmlSigningNodeWriter.cs
- ValuePatternIdentifiers.cs
- ContentHostHelper.cs
- DrawingVisualDrawingContext.cs
- Span.cs
- DataBindingCollection.cs
- ConfigXmlWhitespace.cs
- TextWriter.cs
- DbConvert.cs
- Base64Encoding.cs
- ConstructorNeedsTagAttribute.cs
- FontCacheUtil.cs
- TimeEnumHelper.cs
- AccessibilityHelperForVista.cs
- XmlHierarchyData.cs
- DocComment.cs
- ListSourceHelper.cs
- PolyLineSegment.cs
- _ListenerAsyncResult.cs
- DynamicQueryStringParameter.cs
- HttpListenerRequestUriBuilder.cs
- EffectiveValueEntry.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- mediapermission.cs
- FixUp.cs
- ConnectionPoint.cs
- TimeStampChecker.cs
- SqlClientMetaDataCollectionNames.cs
- XmlDigitalSignatureProcessor.cs
- SchemaRegistration.cs
- ApplicationFileCodeDomTreeGenerator.cs
- CommentGlyph.cs
- DataBoundControlAdapter.cs
- MessagePropertyDescriptionCollection.cs
- ConnectionsZoneAutoFormat.cs
- SectionInformation.cs
- _KerberosClient.cs
- HtmlInputButton.cs
- EventSourceCreationData.cs
- UIPropertyMetadata.cs
- Pointer.cs
- BoundsDrawingContextWalker.cs
- OleDbMetaDataFactory.cs
- RequiredFieldValidator.cs
- ListViewDataItem.cs
- Viewport3DVisual.cs
- HtmlElement.cs
- ContainsSearchOperator.cs
- Error.cs
- URLBuilder.cs
- BindingListCollectionView.cs
- BaseDataList.cs
- MaskedTextProvider.cs
- PropertyReference.cs
- PEFileReader.cs
- FileFormatException.cs
- EncodingDataItem.cs
- DataBoundControl.cs
- BitmapFrame.cs
- DomNameTable.cs
- GetKeyedHashRequest.cs
- XmlSchemaCompilationSettings.cs
- SQLUtility.cs
- InvalidCastException.cs
- PrintEvent.cs
- NamespaceEmitter.cs
- GeometryValueSerializer.cs
- HtmlTitle.cs
- PartialClassGenerationTask.cs
- TextProperties.cs
- DataGridViewAccessibleObject.cs
- BamlStream.cs
- DataErrorValidationRule.cs
- TextRange.cs
- BitmapEffectInputConnector.cs
- InputBinder.cs
- PrePrepareMethodAttribute.cs
- CodeAttributeArgumentCollection.cs
- TimeZone.cs
- CalloutQueueItem.cs
- IisTraceWebEventProvider.cs
- ErrorProvider.cs
- ButtonChrome.cs
- ZoomingMessageFilter.cs
- RemotingException.cs
- CustomAssemblyResolver.cs
- TimelineCollection.cs
- Model3D.cs
- ReflectPropertyDescriptor.cs
- ReaderWriterLockSlim.cs
- InputDevice.cs
- SuppressMessageAttribute.cs
- StaticFileHandler.cs