ProcessInfo.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / ProcessInfo.cs / 1305376 / ProcessInfo.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

/* 
 * ProcessInfo class 
 */
namespace System.Web { 
    using System.Threading;
    using System.Security.Permissions;

 
    /// 
    ///    Provides enumerated values representing status of a process. 
    ///  
    public enum ProcessStatus {
 
        /// 
        ///    Specifies that the process is running.
        /// 
        Alive         = 1, 

        ///  
        ///    Specifies that the process has begun shutting down. 
        /// 
        ShuttingDown  = 2, 

        /// 
        ///    Specifies the the process has been shut down.
        ///  
        ShutDown      = 3,
 
        ///  
        ///    Specifies that the process has been terminated.
        ///  
        Terminated    = 4
    }

 
    /// 
    ///    Provides enumerated values representing the reason a process has shut 
    ///       down. 
    /// 
    public enum ProcessShutdownReason { 

        /// 
        ///    Specifies that the process has not been shut down.
        ///  
        None                = 0,           // alive
 
        ///  
        ///    Specifies that the process has been shut down unexpectedly.
        ///  
        Unexpected          = 1,

        /// 
        ///    Specifies that the process request exceeded the limit on number of 
        ///       processes.
        ///  
        RequestsLimit       = 2, 

        ///  
        ///    Specifies that the process request exceeded the limit on number of
        ///       processes in que.
        /// 
        RequestQueueLimit   = 3, 

        ///  
        ///    Specifies that the process timed out. 
        /// 
        Timeout             = 4, 

        /// 
        ///    Specifies that the process exceeded the limit on process idle time.
        ///  
        IdleTimeout         = 5,
 
        ///  
        ///    Specifies that the process exceeded the limit of memory available per process.
        ///  
        MemoryLimitExceeded = 6,


        PingFailed = 7, 

 
        DeadlockSuspected = 8 
    }
 

    /// 
    ///    Provides information on processes.
    ///  
    public class ProcessInfo {
 
        ///  
        ///    Indicates the time a process was started.
        ///  
        public DateTime               StartTime { get { return _StartTime;}}

        /// 
        ///    Indicates the length of time the process has been running. 
        /// 
        public TimeSpan               Age { get { return _Age;}} 
 
        /// 
        ///    Indicates the process id of the process. 
        /// 
        public int                    ProcessID { get { return _ProcessID;}}

        public int                    RequestCount { get { return _RequestCount;}} 

        ///  
        ///    Indicates the current status of the process. 
        /// 
        public ProcessStatus          Status { get { return _Status;}} 

        /// 
        ///    Indicates the reason the process shut down.
        ///  
        public ProcessShutdownReason  ShutdownReason { get { return _ShutdownReason;}}
 
        ///  
        ///    Indicates the maximum amount of memory the process has used.
        ///  
        public int                    PeakMemoryUsed { get { return _PeakMemoryUsed;}}

        private DateTime               _StartTime;
        private TimeSpan               _Age; 
        private int                    _ProcessID;
        private int                    _RequestCount; 
        private ProcessStatus          _Status; 
        private ProcessShutdownReason  _ShutdownReason;
        private int                    _PeakMemoryUsed; 


        /// 
        ///    Sets internal information indicating the status of the process. 
        /// 
        public void SetAll (DateTime startTime, TimeSpan age, int processID, int requestCount, ProcessStatus status, 
                            ProcessShutdownReason  shutdownReason, int peakMemoryUsed) { 
            _StartTime = startTime;
            _Age = age; 
            _ProcessID = processID;
            _RequestCount = requestCount;
            _Status = status;
            _ShutdownReason = shutdownReason; 
            _PeakMemoryUsed = peakMemoryUsed;
        } 
 

        ///  
        /// Initializes a new instance of the  class and sets internal information
        ///    indicating the status of the process.
        /// 
        public ProcessInfo (DateTime startTime, TimeSpan age, int processID, int requestCount, ProcessStatus status, 
                            ProcessShutdownReason  shutdownReason, int peakMemoryUsed) {
            _StartTime = startTime; 
            _Age = age; 
            _ProcessID = processID;
            _RequestCount = requestCount; 
            _Status = status;
            _ShutdownReason = shutdownReason;
            _PeakMemoryUsed = peakMemoryUsed;
        } 

 
        public ProcessInfo() { 
        }
 
    }

}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK