Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / Diagnostics / TraceEventCache.cs / 1305376 / 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; using System.Runtime.Versioning; 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 { [ResourceExposure(ResourceScope.Process)] // Returns the current process's pid [ResourceConsumption(ResourceScope.Process)] get { return GetProcessId(); } } public string ThreadId { get { return GetThreadId().ToString(CultureInfo.InvariantCulture); } } public long Timestamp { get { if (timeStamp == -1) timeStamp = Stopwatch.GetTimestamp(); return timeStamp ; } } [ResourceExposure(ResourceScope.None)] [ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)] 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(); } } } [ResourceExposure(ResourceScope.Process)] 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
- DataBoundControlHelper.cs
- ToolStripItemEventArgs.cs
- DetailsViewDeleteEventArgs.cs
- FormViewInsertedEventArgs.cs
- Vector3DCollection.cs
- DataRelation.cs
- IssuanceLicense.cs
- pingexception.cs
- Header.cs
- AuthenticationService.cs
- VScrollBar.cs
- WhitespaceSignificantCollectionAttribute.cs
- PropertyEntry.cs
- DesignRelationCollection.cs
- IPAddressCollection.cs
- PackageStore.cs
- ProcessingInstructionAction.cs
- HttpApplicationFactory.cs
- TableStyle.cs
- Publisher.cs
- BufferBuilder.cs
- Not.cs
- TransactionFlowOption.cs
- UnsafeNativeMethods.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- CodeExporter.cs
- SchemaCompiler.cs
- DesignerLoader.cs
- XmlSchemaExternal.cs
- FilterEventArgs.cs
- DiscoveryEndpointElement.cs
- reliableinputsessionchannel.cs
- DataObjectCopyingEventArgs.cs
- AppDomain.cs
- HttpGetClientProtocol.cs
- SurrogateSelector.cs
- DbConnectionClosed.cs
- MultiSelector.cs
- SizeConverter.cs
- controlskin.cs
- FormsAuthenticationUser.cs
- XmlSyndicationContent.cs
- GradientStop.cs
- WebBrowser.cs
- ColumnProvider.cs
- DiagnosticTrace.cs
- OperationCanceledException.cs
- PermissionRequestEvidence.cs
- OleDragDropHandler.cs
- ModuleBuilder.cs
- ConnectionStringSettings.cs
- SqlRecordBuffer.cs
- FontDialog.cs
- ConfigXmlSignificantWhitespace.cs
- NumberEdit.cs
- ToolStripContentPanelRenderEventArgs.cs
- CryptoApi.cs
- WithStatement.cs
- sqlstateclientmanager.cs
- TdsParser.cs
- _NetRes.cs
- ListCollectionView.cs
- CalendarDataBindingHandler.cs
- DetailsViewUpdatedEventArgs.cs
- EditableTreeList.cs
- CryptoApi.cs
- RadioButtonList.cs
- CompilerGlobalScopeAttribute.cs
- _emptywebproxy.cs
- ToolStripPanelCell.cs
- MethodBody.cs
- GroupBox.cs
- CorrelationService.cs
- ReferentialConstraint.cs
- ApplicationInfo.cs
- SessionViewState.cs
- ComboBox.cs
- TextSearch.cs
- CodeDOMProvider.cs
- OracleBoolean.cs
- StreamResourceInfo.cs
- MultiBindingExpression.cs
- SendingRequestEventArgs.cs
- XmlReaderDelegator.cs
- Stackframe.cs
- XmlSchemaParticle.cs
- WizardStepCollectionEditor.cs
- ContextCorrelationInitializer.cs
- oledbmetadatacolumnnames.cs
- AnimationLayer.cs
- BindingMemberInfo.cs
- LambdaCompiler.Statements.cs
- followingsibling.cs
- HttpProfileBase.cs
- Size.cs
- Thumb.cs
- EncryptedPackage.cs
- XmlElementCollection.cs
- FixedSOMPageElement.cs
- EndpointAddress.cs