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
- Soap.cs
- ShaderEffect.cs
- LZCodec.cs
- SortedList.cs
- SystemBrushes.cs
- AspNetSynchronizationContext.cs
- SmtpClient.cs
- coordinatorscratchpad.cs
- FactoryId.cs
- FormsIdentity.cs
- CompiledQuery.cs
- CacheMemory.cs
- RectangleGeometry.cs
- ControlCachePolicy.cs
- RIPEMD160.cs
- RemotingAttributes.cs
- ISAPIApplicationHost.cs
- XsltCompileContext.cs
- CreateUserWizardStep.cs
- MsdtcClusterUtils.cs
- PathFigureCollection.cs
- ServiceMemoryGates.cs
- ExceptionUtil.cs
- ControlParameter.cs
- MatrixKeyFrameCollection.cs
- SqlGatherProducedAliases.cs
- PersistenceProviderDirectory.cs
- ContentElement.cs
- RepeatInfo.cs
- DynamicValueConverter.cs
- ShapeTypeface.cs
- HtmlImage.cs
- QilInvoke.cs
- DataPagerCommandEventArgs.cs
- ByteStack.cs
- ParserHooks.cs
- CreateUserErrorEventArgs.cs
- LassoHelper.cs
- SocketException.cs
- LocalBuilder.cs
- DbParameterHelper.cs
- KeysConverter.cs
- CodeTypeParameterCollection.cs
- ToolBarButton.cs
- EntityDataSourceDesignerHelper.cs
- CommandID.cs
- TableLayoutRowStyleCollection.cs
- DependencyPropertyDescriptor.cs
- AuthenticateEventArgs.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- CurrencyWrapper.cs
- DataGridLength.cs
- GradientStop.cs
- IISUnsafeMethods.cs
- AsyncPostBackErrorEventArgs.cs
- SharedPersonalizationStateInfo.cs
- DrawingContextDrawingContextWalker.cs
- FlowLayout.cs
- ServiceSecurityContext.cs
- DataGridViewColumnConverter.cs
- _NestedMultipleAsyncResult.cs
- UTF7Encoding.cs
- CodeParameterDeclarationExpressionCollection.cs
- ObjectStateManager.cs
- BooleanFacetDescriptionElement.cs
- TextProperties.cs
- SqlInternalConnection.cs
- ToolboxComponentsCreatedEventArgs.cs
- ClientTarget.cs
- ActivityBuilderXamlWriter.cs
- GlyphRunDrawing.cs
- ContextActivityUtils.cs
- __Filters.cs
- Guid.cs
- RuntimeResourceSet.cs
- ReflectPropertyDescriptor.cs
- TrackBarRenderer.cs
- AuthenticateEventArgs.cs
- OdbcConnectionHandle.cs
- OleDbMetaDataFactory.cs
- DisplayMemberTemplateSelector.cs
- AssociatedControlConverter.cs
- ScaleTransform.cs
- ParserContext.cs
- Logging.cs
- RawKeyboardInputReport.cs
- CatalogZoneBase.cs
- InvalidDataException.cs
- CodeDelegateCreateExpression.cs
- BitStream.cs
- ZipFileInfo.cs
- ConnectionStringsExpressionBuilder.cs
- IgnorePropertiesAttribute.cs
- ButtonBase.cs
- EnvelopedPkcs7.cs
- ExternalCalls.cs
- RequestBringIntoViewEventArgs.cs
- SafeNativeMethodsMilCoreApi.cs
- WorkflowDesignerColors.cs
- DataSourceView.cs