This topic has not yet been rated - Rate this topic

ApplicationPoolCpu Class

IIS 7.0

Configures default values for CPU usage parameters and CPU actions that all application pools on a server use.

System..::..Object
  Microsoft.Web.Administration..::..ConfigurationElement
    Microsoft.Web.Administration..::..ApplicationPoolCpu

Namespace:  Microsoft.Web.Administration
Assembly:  Microsoft.Web.Administration (in Microsoft.Web.Administration.dll)
public sealed class ApplicationPoolCpu : ConfigurationElement

The ApplicationPoolCpu type exposes the following members.

  Name Description
Public property Action Gets or sets the actions that IIS takes when an application pool exceeds the CPU limit specified by the Limit property.
Public property Attributes Gets a configuration attribute collection that contains the list of attributes for this element. (Inherited from ConfigurationElement.)
Public property ChildElements Gets all the child elements of the current element. (Inherited from ConfigurationElement.)
Public property ElementTagName Gets the XML tag name of the current element. (Inherited from ConfigurationElement.)
Public property IsLocallyStored Gets a value indicating whether the configuration element is stored in a particular configuration file. (Inherited from ConfigurationElement.)
Public property Item Gets or sets an attribute with the specified name. (Inherited from ConfigurationElement.)
Public property Limit Gets or sets the maximum percentage of CPU time that the worker processes in an application pool are allowed to consume over a period of time.
Public property Methods Gets a collection of methods for the configuration element. (Inherited from ConfigurationElement.)
Public property RawAttributes Gets the raw attribute names and values for the current configuration element. (Inherited from ConfigurationElement.)
Public property ResetInterval Gets or sets the reset period for CPU monitoring and throttling limits on an application pool.
Public property Schema Gets the schema for the current element. (Inherited from ConfigurationElement.)
Public property SmpAffinitized Gets or sets a value indicating whether CPU affinity is enabled for an application pool.
Public property SmpProcessorAffinityMask Gets or sets the CPU affinity for an application pool.
Public property SmpProcessorAffinityMask2 Gets or sets the CPU affinity for an application pool (64-bit option).
Top
  Name Description
Public method Delete (Inherited from ConfigurationElement.)
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetAttribute Returns a ConfigurationAttribute object that represents the requested attribute. (Inherited from ConfigurationElement.)
Public method GetAttributeValue Returns the value of the specified attribute. (Inherited from ConfigurationElement.)
Public method GetChildElement(String) Returns a child element that is under the current configuration element and has the specified name. (Inherited from ConfigurationElement.)
Public method GetChildElement(String, Type) Returns a child element that is under the current configuration element and has the specified name and type. (Inherited from ConfigurationElement.)
Public method GetCollection()()()() Returns the default collection for the current configuration element. (Inherited from ConfigurationElement.)
Public method GetCollection(String) Returns all configuration elements that belong to the current configuration element. (Inherited from ConfigurationElement.)
Public method GetCollection(Type) Returns the configuration element that has the specified type and is under the current configuration element. (Inherited from ConfigurationElement.)
Public method GetCollection(String, Type) Returns the configuration element that has the specified name and type and is under the current configuration element. (Inherited from ConfigurationElement.)
Public method GetHashCode (Inherited from Object.)
Public method GetMetadata Returns metadata values from the element schema. (Inherited from ConfigurationElement.)
Public method GetType (Inherited from Object.)
Protected method MemberwiseClone (Inherited from Object.)
Public method SetAttributeValue Sets the value of the specified attribute. (Inherited from ConfigurationElement.)
Public method SetMetadata Sets metadata values from the element schema. (Inherited from ConfigurationElement.)
Public method ToString (Inherited from Object.)
Top

This class represents application pool default settings in the IIS configuration system. The properties correspond directly to the attributes of the cpu element for the applicationPoolDefaults element for the applicationPools element.

The following example demonstrates several of the properties of the ApplicationPoolCpu class.


using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Web.Administration;
using Microsoft.Web.Management;

namespace AdministrationSnippets
{
    class ApplicationPoolCpu
    {
        public void PropertyVals()
        {
            ServerManager manager = new ServerManager();
            string apppoolname;
            apppoolname = manager.Sites["Default Web Site"].ApplicationDefaults.ApplicationPoolName;
            ApplicationPool apppool = manager.ApplicationPools[apppoolname];
            bool apppool_isdirty = false;
            // Specify the action to be taken if the limits are exceeded.
            Console.WriteLine("If the limit is exceeded take the following action (ProcessorAction): " +
                apppool.Cpu.Action);
            // Set the ApplicationPoolCPU.Limit to a maximum of 2.5 milliseconds.
            if (apppool.Cpu.Limit > 25)
            {
                apppool.Cpu.Limit = 25;
                apppool_isdirty = true;
            }
            // Set the interval.Limit to a maximum of 10 minutes.
            TimeSpan maxinterval = new TimeSpan(0, 10, 0);
            if (apppool.Cpu.ResetInterval > maxinterval)
            {
                apppool.Cpu.ResetInterval = maxinterval;
                apppool_isdirty = true;
            }
            if (apppool_isdirty)
            {
                manager.CommitChanges();
                Console.WriteLine("Administration.config updated.");
            }
            Console.WriteLine("SmpProcessorAffinityMask: " +
                apppool.Cpu.SmpProcessorAffinityMask.ToString());
        }
    }
}


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ