Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- IPGlobalProperties.cs
- MetadataWorkspace.cs
- XmlSchemaFacet.cs
- TableLayoutPanelCodeDomSerializer.cs
- DataGridViewCellStyle.cs
- LeafCellTreeNode.cs
- UnauthorizedAccessException.cs
- TreeWalker.cs
- AppDomainAttributes.cs
- UrlEncodedParameterWriter.cs
- Base64Stream.cs
- PhysicalFontFamily.cs
- CodeMemberProperty.cs
- LocationReference.cs
- ExtendedPropertyCollection.cs
- DecodeHelper.cs
- SQLMoneyStorage.cs
- FormConverter.cs
- SubstitutionDesigner.cs
- RuleInfoComparer.cs
- ProviderMetadata.cs
- XmlProcessingInstruction.cs
- OdbcConnectionOpen.cs
- ParameterCollectionEditor.cs
- CodeGenerationManager.cs
- FrugalMap.cs
- JapaneseLunisolarCalendar.cs
- SafeMarshalContext.cs
- EmptyEnumerator.cs
- XPathDocumentNavigator.cs
- DrawingGroup.cs
- ComEventsInfo.cs
- LoginView.cs
- SafeSystemMetrics.cs
- ToolStripDropDownClosedEventArgs.cs
- DnsPermission.cs
- SqlInternalConnection.cs
- ApplicationManager.cs
- CommentAction.cs
- FormViewModeEventArgs.cs
- AnnotationObservableCollection.cs
- XPathNodeList.cs
- ObjectConverter.cs
- RepeaterCommandEventArgs.cs
- ScrollChangedEventArgs.cs
- CultureNotFoundException.cs
- VerticalAlignConverter.cs
- TypeDescriptionProviderAttribute.cs
- DisableDpiAwarenessAttribute.cs
- DetailsViewUpdateEventArgs.cs
- graph.cs
- _FtpDataStream.cs
- AssemblyCollection.cs
- _IPv6Address.cs
- GroupBox.cs
- FontFamilyIdentifier.cs
- SerializationFieldInfo.cs
- SystemUnicastIPAddressInformation.cs
- WindowsTab.cs
- TextServicesHost.cs
- Encoder.cs
- DropShadowEffect.cs
- cryptoapiTransform.cs
- TimeSpanSecondsConverter.cs
- Pen.cs
- DrawingBrush.cs
- GroupByExpressionRewriter.cs
- EncodingTable.cs
- MouseCaptureWithinProperty.cs
- EventDriven.cs
- PathData.cs
- Ray3DHitTestResult.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- InstanceOwner.cs
- KnownTypes.cs
- XsdDataContractImporter.cs
- BigInt.cs
- CustomErrorsSectionWrapper.cs
- TcpHostedTransportConfiguration.cs
- FontFamily.cs
- RangeValuePattern.cs
- RenderData.cs
- SignerInfo.cs
- InvokeMethod.cs
- InfoCardTrace.cs
- PermissionRequestEvidence.cs
- Identifier.cs
- Encoder.cs
- SqlConnectionPoolGroupProviderInfo.cs
- WindowsToolbarAsMenu.cs
- Vector3dCollection.cs
- StaticExtension.cs
- COM2Properties.cs
- InvalidOleVariantTypeException.cs
- CompositeDesignerAccessibleObject.cs
- SecondaryIndexList.cs
- WmlCalendarAdapter.cs
- BinaryParser.cs
- XPathDocument.cs
- SmtpDigestAuthenticationModule.cs