Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / ProcessModelInfo.cs / 1 / ProcessModelInfo.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * ProcessInfo class */ namespace System.Web { using System.Runtime.Serialization.Formatters; using System.Threading; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ProcessModelInfo { [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.High)] static public ProcessInfo GetCurrentProcessInfo() { HttpContext context = HttpContext.Current; if (context == null || context.WorkerRequest == null || !(context.WorkerRequest is System.Web.Hosting.ISAPIWorkerRequestOutOfProc)) { throw new HttpException(SR.GetString(SR.Process_information_not_available)); } int dwReqExecuted = 0; int dwReqExecuting = 0; long tmCreateTime = 0; int pid = 0; int mem = 0; int iRet = UnsafeNativeMethods.PMGetCurrentProcessInfo ( ref dwReqExecuted, ref dwReqExecuting, ref mem, ref tmCreateTime, ref pid); if (iRet < 0) throw new HttpException(SR.GetString(SR.Process_information_not_available)); DateTime startTime = DateTime.FromFileTime(tmCreateTime); TimeSpan age = DateTime.Now.Subtract(startTime); return new ProcessInfo(startTime, age, pid, dwReqExecuted, ProcessStatus.Alive, ProcessShutdownReason.None, mem); } [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.High)] static public ProcessInfo[] GetHistory(int numRecords) { HttpContext context = HttpContext.Current; if (context == null || context.WorkerRequest == null || !(context.WorkerRequest is System.Web.Hosting.ISAPIWorkerRequestOutOfProc)) { throw new HttpException(SR.GetString(SR.Process_information_not_available)); } if (numRecords < 1) return null; int [] dwPID = new int [numRecords]; int [] dwExed = new int [numRecords]; int [] dwExei = new int [numRecords]; int [] dwPend = new int [numRecords]; int [] dwReas = new int [numRecords]; long [] tmCrea = new long [numRecords]; long [] tmDeat = new long [numRecords]; int [] mem = new int [numRecords]; int iRows = UnsafeNativeMethods.PMGetHistoryTable (numRecords, dwPID, dwExed, dwPend, dwExei, dwReas, mem, tmCrea, tmDeat); if (iRows < 0) throw new HttpException(SR.GetString(SR.Process_information_not_available)); ProcessInfo[] ret = new ProcessInfo[iRows]; for (int iter=0; iter0) age = DateTime.FromFileTime(tmDeat[iter]).Subtract(startTime); if ((dwReas[iter] & 0x0004) != 0) status = ProcessStatus.Terminated; else if ((dwReas[iter] & 0x0002) != 0) status = ProcessStatus.ShutDown; else status = ProcessStatus.ShuttingDown; if ((0x0040 & dwReas[iter]) != 0) rea = ProcessShutdownReason.IdleTimeout; else if ((0x0080 & dwReas[iter]) != 0) rea = ProcessShutdownReason.RequestsLimit; else if ((0x0100 & dwReas[iter]) != 0) rea = ProcessShutdownReason.RequestQueueLimit; else if ((0x0020 & dwReas[iter]) != 0) rea = ProcessShutdownReason.Timeout; else if ((0x0200 & dwReas[iter]) != 0) rea = ProcessShutdownReason.MemoryLimitExceeded; else if ((0x0400 & dwReas[iter]) != 0) rea = ProcessShutdownReason.PingFailed; else if ((0x0800 & dwReas[iter]) != 0) rea = ProcessShutdownReason.DeadlockSuspected; else rea = ProcessShutdownReason.Unexpected; } ret[iter] = new ProcessInfo(startTime, age, dwPID[iter], dwExed[iter], status, rea, mem[iter]); } return ret; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LedgerEntryCollection.cs
- ClientSettingsSection.cs
- XsdCachingReader.cs
- RegexFCD.cs
- FontStyleConverter.cs
- ReferentialConstraint.cs
- QEncodedStream.cs
- X509Certificate2.cs
- Visual3D.cs
- SpecularMaterial.cs
- KeyValueConfigurationCollection.cs
- XmlSerializerAssemblyAttribute.cs
- ToolbarAUtomationPeer.cs
- TableLayoutPanelBehavior.cs
- DelegateBodyWriter.cs
- XmlSerializerVersionAttribute.cs
- DBSqlParserColumn.cs
- AsymmetricSignatureFormatter.cs
- ProfileSection.cs
- SqlTransaction.cs
- DesignerRegion.cs
- UriExt.cs
- RequestCache.cs
- ObjectList.cs
- DbParameterCollectionHelper.cs
- LicenseContext.cs
- StrongNamePublicKeyBlob.cs
- ConfigurationManagerHelperFactory.cs
- SqlCacheDependency.cs
- GlyphRunDrawing.cs
- DesignerToolStripControlHost.cs
- xmlfixedPageInfo.cs
- TextRangeEdit.cs
- XappLauncher.cs
- InfoCardService.cs
- WmfPlaceableFileHeader.cs
- Wizard.cs
- VoiceObjectToken.cs
- PathFigure.cs
- mansign.cs
- ToolStripDropDown.cs
- EncryptedHeaderXml.cs
- StateMachineSubscriptionManager.cs
- MsmqChannelListenerBase.cs
- WeakReferenceKey.cs
- NetNamedPipeSecurityMode.cs
- KeyedCollection.cs
- Vector3DConverter.cs
- AttributeAction.cs
- HttpWebRequest.cs
- SqlCacheDependencyDatabaseCollection.cs
- DiscardableAttribute.cs
- XmlText.cs
- DebugViewWriter.cs
- ToolboxItemSnapLineBehavior.cs
- APCustomTypeDescriptor.cs
- DefaultShape.cs
- ChannelTraceRecord.cs
- HttpException.cs
- ImageFormatConverter.cs
- IBuiltInEvidence.cs
- NullToBooleanConverter.cs
- TemplateManager.cs
- EntityDataSourceReferenceGroup.cs
- MessageSmuggler.cs
- odbcmetadatacollectionnames.cs
- Delegate.cs
- QueryPageSettingsEventArgs.cs
- ServiceControllerDesigner.cs
- TripleDESCryptoServiceProvider.cs
- RoleGroupCollection.cs
- OleDbTransaction.cs
- XpsS0ValidatingLoader.cs
- ToolboxItemSnapLineBehavior.cs
- NativeMethods.cs
- ConsoleCancelEventArgs.cs
- SocketManager.cs
- CodeStatement.cs
- IssuanceLicense.cs
- ArglessEventHandlerProxy.cs
- PermissionRequestEvidence.cs
- String.cs
- WebPartAddingEventArgs.cs
- MetricEntry.cs
- BitmapMetadataBlob.cs
- Model3D.cs
- BinaryConverter.cs
- ColorContextHelper.cs
- RequestNavigateEventArgs.cs
- _SSPISessionCache.cs
- VisualTreeHelper.cs
- XPathAncestorQuery.cs
- ResourceExpressionBuilder.cs
- SqlConnectionFactory.cs
- ToolStripSystemRenderer.cs
- ReflectionUtil.cs
- DeclaredTypeValidatorAttribute.cs
- ZipIOLocalFileDataDescriptor.cs
- SectionInput.cs
- MethodBody.cs