Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpSessionStateBase.cs
- Logging.cs
- SHA1.cs
- MessageFormatterConverter.cs
- NameTable.cs
- MobileControlsSectionHelper.cs
- TypeConverterHelper.cs
- RangeContentEnumerator.cs
- CssClassPropertyAttribute.cs
- OdbcReferenceCollection.cs
- DecoderReplacementFallback.cs
- RijndaelManagedTransform.cs
- RuntimeConfigLKG.cs
- DesignerRegion.cs
- AssociationProvider.cs
- DatagridviewDisplayedBandsData.cs
- TrustManager.cs
- DataGridDetailsPresenterAutomationPeer.cs
- PropertyPushdownHelper.cs
- SignedXml.cs
- InputLanguageSource.cs
- DelegateBodyWriter.cs
- RsaSecurityTokenAuthenticator.cs
- LiteralText.cs
- DependencyPropertyValueSerializer.cs
- ObjectStorage.cs
- SQLInt64.cs
- GridErrorDlg.cs
- ServerIdentity.cs
- State.cs
- ParameterDataSourceExpression.cs
- XamlPointCollectionSerializer.cs
- MD5CryptoServiceProvider.cs
- BitStack.cs
- XpsFilter.cs
- HwndKeyboardInputProvider.cs
- SafeFileMapViewHandle.cs
- InvalidCommandTreeException.cs
- RectAnimationClockResource.cs
- DataRecordObjectView.cs
- RecognizerBase.cs
- OutputCacheSection.cs
- PrintEvent.cs
- CustomCategoryAttribute.cs
- LoginUtil.cs
- FlowPosition.cs
- UmAlQuraCalendar.cs
- PersonalizationAdministration.cs
- ModuleConfigurationInfo.cs
- HashStream.cs
- PrtTicket_Base.cs
- FieldTemplateFactory.cs
- DataTableReaderListener.cs
- RotationValidation.cs
- SettingsPropertyWrongTypeException.cs
- xsdvalidator.cs
- ExpressionLexer.cs
- SelectionPattern.cs
- WindowsClaimSet.cs
- InheritanceContextHelper.cs
- RouteTable.cs
- TypedColumnHandler.cs
- ExternalFile.cs
- PerformanceCounterPermissionEntryCollection.cs
- DataConnectionHelper.cs
- HtmlProps.cs
- JsonDataContract.cs
- UnmanagedMemoryAccessor.cs
- PropertyConverter.cs
- EncryptedPackageFilter.cs
- ClientScriptManagerWrapper.cs
- Point3DAnimationBase.cs
- Baml2006Reader.cs
- DefaultWorkflowSchedulerService.cs
- StatusInfoItem.cs
- GridPattern.cs
- SerializationEventsCache.cs
- ResourceContainer.cs
- Size3DConverter.cs
- ComponentDispatcherThread.cs
- mediapermission.cs
- SettingsSection.cs
- SafeUserTokenHandle.cs
- SrgsElementFactory.cs
- RsaSecurityKey.cs
- SamlAssertion.cs
- FactoryGenerator.cs
- PlainXmlWriter.cs
- MarkupExtensionParser.cs
- BitmapDecoder.cs
- ArraySubsetEnumerator.cs
- keycontainerpermission.cs
- WorkflowOwnershipException.cs
- FormatSettings.cs
- SpecialFolderEnumConverter.cs
- Stopwatch.cs
- ChildChangedEventArgs.cs
- UrlMappingCollection.cs
- documentsequencetextview.cs
- DefaultParameterValueAttribute.cs