System.Web 2.0.0.0 System.Configuration.ConfigurationSection

The class provides a way to programmatically access and modify the processModel section of a configuration file.

The class controls various aspects of the ASP.NET worker process, including its lifetime, the number of instances created at a time, what security identity it runs under, and the size of the CLR thread pool to service requests.

When ASP.NET is running under IIS 6 in native mode, ASP.NET uses the IIS 6 process model and ignores most settings in this section. Use the IIS administration user interface (UI) to configure those properties. ASP.NET still uses the following properties, which can be configured through the configuration file: , , , , , and .

The processModel section cannot be encrypted using the protected-configuration feature or tools because it is consumed by the ASP.NET ISAPI extension.

Configures the ASP.NET process model settings on an Internet Information Services (IIS) Web server. This class cannot be inherited.

- Constructor

  The constructor is not intended to be used directly from your code. It is called by the ASP.NET configuration system. You obtain an instance of the class by using the method.

  Initializes a new instance of the class using default settings.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("autoConfig", DefaultValue="False")
  System.Boolean To be added.

  If the value is set to false, explicit Web.config values are used to determine performance configuration for the ASP.NET application. If the value is set to true, the performance settings are automatically configured for the ASP.NET application.

  The value is explicitly set to true in the Machine.config file. The default code value is set to false. If the value is removed from Machine.config, the explicit settings are used instead of the auto-configured settings.

  Gets or sets a value indicating whether ASP.NET performance settings are automatically configured for ASP.NET applications.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("clientConnectedCheck", DefaultValue="00:00:05")
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteTimeSpanConverter))
  System.TimeSpan To be added.

  This property specifies how long a request is queued before ASP.NET performs a client connected check.

  If the interval expires while the request is still queued, a client connected check is done before passing the request over to the ASP.NET worker process for handling.

  Gets or sets a value indicating how long a request is left in the queue.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("comAuthenticationLevel", DefaultValue="Connect")
  System.Web.Configuration.ProcessModelComAuthenticationLevel To be added.

  When this property value is set to , DCOM determines the authentication level using its normal security-negotiation algorithm. The default value assigned to this property, as specified in the Machine.config file, is . In this case, DCOM authenticates the credentials of the client only when the client establishes a relationship with the server.

  Gets or sets a value indicating the level of authentication for DCOM security.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("comImpersonationLevel", DefaultValue="Impersonate")
  System.Web.Configuration.ProcessModelComImpersonationLevel To be added.

  When this property value is set to , DCOM determines the impersonation level using its normal security-negotiation algorithm. The default value assigned to this property, as specified in the Machine.config file, is . In this case, the server process can impersonate the client's security context while acting on behalf of the client.

  Gets or sets a value indicating the level of authentication for COM security.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("cpuMask", DefaultValue="0xffffffff")
  System.Int32 To be added.

  The value specifies a bit pattern that indicates the CPUs eligible to run ASP.NET threads. If the property is set to true, the limits worker processes to the number of eligible CPUs. The maximum allowed number of worker processes is equal to the number of CPUs. By default, all CPUs are enabled and ASP.NET launches one process for each CPU. If the property is set to false, the attribute is ignored and only one worker process will run.

  Gets or sets a value indicating which processors on a multiprocessor server are eligible to run ASP.NET processes.

  2.0.0.0
- Property
  System.Configuration.ConfigurationElementProperty To be added. To be added. To be added. 2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("enable", DefaultValue="True")
  System.Boolean To be added.

  The property specifies whether ASP.NET is hosted in an external worker process. If is true, ASP.NET is hosted in an external worker process; otherwise, it runs directly in Inetinfo.exe.

  Running ASP.NET in Inetinfo.exe is not recommended, because this involves running the application in the Local System security context. When ASP.NET runs in Internet Information Services (IIS) 6 native mode, this setting is ignored, so there is usually no reason to set it to false.

  Gets or sets a value indicating whether the process model is enabled.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("idleTimeout", DefaultValue="10675199.02:48:05.4775807")
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteTimeSpanConverter))
  System.TimeSpan To be added.

  The worker process is restarted (bounced) when the property value is reached. By default, only two conditions cause the process to bounce: the process exceeds the allowed memory limit, or the process exceeds the allowed number of requests that can be queued. You can add other conditions to the default ones. For example, you can use the property to limit the time the worker process is idle.

  Gets or sets a value indicating the period of inactivity after which ASP.NET automatically ends the worker process.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("logLevel", DefaultValue="Errors")
  System.Web.Configuration.ProcessModelLogLevel To be added.

  By using this property correctly, you can filter the errors the system can log. After you have an idea of the application's malfunctions or bottlenecks, you might want to devise a strategy that narrows the range of errors you are interested in.

  Gets or sets a value indicating the event types to be logged to the event log.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("maxAppDomains", DefaultValue="2000")
  System.Configuration.IntegerValidator(MinValue=1, MaxValue=2147483646)
  System.Int32 To be added.

  If the threshold is exceeded, the least-used application domain is shut down if a new application domain must start.

  Gets or sets the maximum allowed number of application domains in one process.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("maxIoThreads", DefaultValue="20")
  System.Configuration.IntegerValidator(MinValue=1, MaxValue=2147483646)
  System.Int32 To be added.

  The value of must be equal to or greater than the setting in the httpRuntime configuration section.

  You can have some control over the CPU utilization by setting the number of worker threads and I/O threads, using the property and the property respectively.

  The difference between the two types of threads is that the latter are bound to I/O objects, such as a stream or a pipe, and the former are traditional unrestricted threads. For Internet Information Services (IIS) version 6.0 and later, ASP.NET processes requests on worker threads. This is because ASP.NET is integrated within IIS.

  These threads are obtained from the process-wide CLR thread pool belonging to an application.

  Usually the default values for the allowed threads are sufficient to keep the CPU utilization high. If for some reason your application is slow, perhaps waiting for external resources, you could try to increase the number of threads to a value less than 100.

  Gets or sets a value indicating the maximum number of I/O threads per CPU in the CLR thread pool.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("maxWorkerThreads", DefaultValue="20")
  System.Configuration.IntegerValidator(MinValue=1, MaxValue=2147483646)
  System.Int32 To be added.

  The value of must be equal to or greater than the setting in the httpRuntime configuration section.

  You can have some control over the CPU utilization by setting the number of worker threads and I/O threads, using the property and, the property, respectively.

  The difference between the two types of threads is that the latter are bound to I/O objects, such as a stream or a pipe, and the former are traditional unrestricted threads. For Internet Information Services (IIS) version 6.0 and higher, ASP.NET processes requests on worker threads. This is because ASP.NET is integrated within IIS.

  These threads are obtained from the process-wide CLR thread pool belonging to an application.

  Usually the default values for the allowed threads are sufficient to keep the CPU utilization high. If for some reason your application is slow, perhaps waiting for external resources, you could try to increase the number of threads to a value less than 100.

  Gets or sets a value indicating the maximum amount of worker threads per CPU in the CLR thread pool.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("memoryLimit", DefaultValue="60")
  System.Int32 To be added.

  The memory size is expressed as a percentage of the total system memory. This is the amount of memory a worker process can consume before ASP.NET restarts (bounces) it.

  Gets or sets a value indicating the maximum allowed memory size.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("minIoThreads", DefaultValue="1")
  System.Configuration.IntegerValidator(MinValue=1, MaxValue=2147483646)
  System.Int32 To be added. To be added.

  Gets or sets the minimum number of I/O threads per CPU in the CLR thread pool.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("minWorkerThreads", DefaultValue="1")
  System.Configuration.IntegerValidator(MinValue=1, MaxValue=2147483646)
  System.Int32 To be added. To be added.

  Gets or sets the minimum number of worker threads per CPU in the CLR thread pool.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("password", DefaultValue="AutoGenerate")
  System.String To be added.

  The property must be used with the property.

  When present, these property values cause the worker process to run with the configured Windows identity.

  Gets or sets a value indicating the password to use for the Windows identity.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("pingFrequency", DefaultValue="10675199.02:48:05.4775807")
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteTimeSpanConverter))
  System.TimeSpan To be added.

  The worker process is restarted (bounced) if it is not running after the interval has expired.

  Gets or sets a value indicating the time interval at which the ISAPI extension pings the worker process to determine whether it is running.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("pingTimeout", DefaultValue="10675199.02:48:05.4775807")
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteTimeSpanConverter))
  System.TimeSpan To be added.

  The ISAPI extensions ping the worker process at the interval. If the worker process does not respond within the interval, the process is restarted.

  Gets or sets a value indicating the time interval after which a non-responsive worker process is restarted.

  2.0.0.0
- Property
  System.Configuration.ConfigurationPropertyCollection To be added. To be added.

  Gets the properties.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("requestLimit", DefaultValue="2147483647")
  System.Configuration.IntegerValidator(MinValue=0, MaxValue=2147483647)
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteIntConverter))
  System.Int32 To be added.

  If the number of requests is exceeded, ASP.NET automatically launches a new worker process to take the place of the current one.

  Gets or sets a value indicating the number of requests allowed before a worker process is recycled.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("requestQueueLimit", DefaultValue="5000")
  System.Configuration.IntegerValidator(MinValue=0, MaxValue=2147483647)
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteIntConverter))
  System.Int32 To be added.

  If the number of requests allowed in the queue is exceeded, ASP.NET begins returning "503 – Server Too Busy" errors to new requests. When this limit is reached, the system is operating in abnormal conditions. This might be a symptom of a malfunction or, maybe, just high load. Restarting (bouncing) the worker process might become the only way to prevent further problems.

  Gets or sets a value indicating the number of requests allowed in the queue.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("responseDeadlockInterval", DefaultValue="00:03:00")
  System.Configuration.TimeSpanValidator(MinValueString="00:00:00", MaxValueString="10675199.02:48:05.4775807")
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteTimeSpanConverter))
  System.TimeSpan To be added.

  The process is restarted if there are queued requests and if there has not been a response during the time interval that is defined by .

  Gets or sets a value indicating the time interval for the worker process to respond.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("responseRestartDeadlockInterval", DefaultValue="00:03:00")
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteTimeSpanConverter))
  System.TimeSpan To be added.

  This property is no longer used by ASP.NET and is provided for backward compatibility only. It will not cause a configuration error if it is already present in a configuration file. All recycling in the event of a deadlock condition is now controlled by the property.

  No longer used.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("restartQueueLimit", DefaultValue="10")
  System.Configuration.IntegerValidator(MinValue=0, MaxValue=2147483647)
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteIntConverter))
  System.Int32 To be added.

  When this limit is exceeded, a client request will receive a 503 error until the worker process is ready.

  Gets or sets a value indicating the maximum number of requests queued by the ISAPI while waiting for a new worker process to start handling the requests.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("serverErrorMessageFile", DefaultValue="")
  System.String To be added.

  The file whose content is used instead of the default Server Unavailable message.

  The file location can be a relative or an absolute file path.

  Gets or sets a value indicating the file whose content must be used when a fatal error occurs.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("shutdownTimeout", DefaultValue="00:00:05")
  System.Configuration.TimeSpanValidator(MinValueString="00:00:00", MaxValueString="10675199.02:48:05.4775807")
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteTimeSpanConverter))
  System.TimeSpan To be added.

  This property specifies the number of minutes allowed for the worker process to shut itself down gracefully. When the timeout expires, ASP.NET shuts down the worker process forcibly.

  Gets or sets a value indicating the time allowed for the worker process to shut down.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("timeout", DefaultValue="10675199.02:48:05.4775807")
  System.ComponentModel.TypeConverter(typeof(System.Configuration.InfiniteTimeSpanConverter))
  System.TimeSpan To be added.

  ASP.NET launches a new worker process to take the place of the current one.

  Gets or sets a value indicating the number of minutes until ASP.NET launches a new worker process.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("userName", DefaultValue="machine")
  System.String To be added.

  If present, the defines a Windows identity different from that of the default process. This identity is used to run the ASP.NET worker process.

  By default, is set to the special value Machine, and the process runs under a user account named ASPNET that is created automatically when ASP.NET is installed.

  The property must be used with the property.

  When present, these property values cause the worker process to run with the configured Windows identity.

  If the property is set to System, with the password AutoGenerate, it defines an entity that runs the process as an administrative account and allows all ASP.NET user code running under the process to have full administrative privileges. So, pay close attention to this case, for the permissions allowed.

  Gets or sets a value indicating the user name for a Windows identity.

  2.0.0.0
- Property
  System.Configuration.ConfigurationProperty("webGarden", DefaultValue="False")
  System.Boolean To be added.

  The property must be used with the property.

  If the property is set to false, the attribute is ignored and only one worker process runs.

  A multiprocessor Web server is called a Web garden.

  Gets or sets a value enabling the available CPUs to run the worker processes.

  2.0.0.0