Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- TablePatternIdentifiers.cs
- TableHeaderCell.cs
- OleServicesContext.cs
- CodeExpressionStatement.cs
- MappedMetaModel.cs
- UnaryNode.cs
- AnonymousIdentificationModule.cs
- NonVisualControlAttribute.cs
- FixedSOMLineRanges.cs
- WebPartsPersonalization.cs
- BookmarkInfo.cs
- Util.cs
- MatrixTransform.cs
- Camera.cs
- Policy.cs
- GPRECTF.cs
- ApplicationTrust.cs
- CurrencyManager.cs
- CurrentChangedEventManager.cs
- HttpPostProtocolReflector.cs
- ProfessionalColors.cs
- XsltFunctions.cs
- UIElement3D.cs
- Interlocked.cs
- AsyncCompletedEventArgs.cs
- LoadedEvent.cs
- MetaDataInfo.cs
- StandardCommandToolStripMenuItem.cs
- BuildResult.cs
- DynamicValueConverter.cs
- DetailsViewInsertEventArgs.cs
- QilSortKey.cs
- CommandEventArgs.cs
- TiffBitmapEncoder.cs
- X509SecurityTokenProvider.cs
- CustomValidator.cs
- TextCompositionEventArgs.cs
- SqlMethodCallConverter.cs
- SimplePropertyEntry.cs
- CustomError.cs
- PopupControlService.cs
- DynamicActivity.cs
- SafeNativeMethods.cs
- TypeExtensions.cs
- WindowProviderWrapper.cs
- ColorContextHelper.cs
- TabItem.cs
- CodeTypeMemberCollection.cs
- BasicExpandProvider.cs
- HandleExceptionArgs.cs
- SecurityElement.cs
- ModifiableIteratorCollection.cs
- TransformDescriptor.cs
- EventLogTraceListener.cs
- PerformanceCounterPermissionEntryCollection.cs
- XpsFilter.cs
- EdmSchemaError.cs
- ProtocolsConfigurationHandler.cs
- Size3DConverter.cs
- CompilerCollection.cs
- Literal.cs
- securestring.cs
- CompositionCommandSet.cs
- Property.cs
- Lease.cs
- PrefixHandle.cs
- FastPropertyAccessor.cs
- MultiBinding.cs
- MetaColumn.cs
- ClientSettingsStore.cs
- EventProxy.cs
- SmtpFailedRecipientException.cs
- Qualifier.cs
- EventTrigger.cs
- DataGridCommandEventArgs.cs
- ETagAttribute.cs
- PointHitTestResult.cs
- PropertyAccessVisitor.cs
- ConstraintConverter.cs
- ThousandthOfEmRealPoints.cs
- WorkflowMarkupSerializationException.cs
- AxisAngleRotation3D.cs
- GeometryHitTestParameters.cs
- Attributes.cs
- ImageListUtils.cs
- XmlLanguageConverter.cs
- WebPartEditorCancelVerb.cs
- DoubleAnimationUsingPath.cs
- SafeArrayRankMismatchException.cs
- XmlSchemaRedefine.cs
- HttpListenerTimeoutManager.cs
- ContextDataSourceContextData.cs
- CommandConverter.cs
- DtdParser.cs
- RuntimeArgumentHandle.cs
- MdiWindowListStrip.cs
- DataGridViewComboBoxColumnDesigner.cs
- StylusPointProperties.cs
- ParameterCollection.cs
- Condition.cs