Types of Windows Application Pools
Posted on September 22nd, 2016
The configuration settings for all application pools running on the Internet Information Service (IIS) 7 are the main elements of an application pool. Application pools contain one or more worker process. Application pool is assigned with the common settings, which are used to serve for one or more requests. The worker process are then configured and assigned to the application pool. The isolation from one web application from another web application is achieved because of the application pool, which allows the web applications to share one or more similar configured worker process. Any error in one application pool does not affect websites or applications in another application pool. This is implemented by the boundaries set for the process of each worker process.
While the installation of Internet Information Service a default application pool is provided by IIS itself. We also have an option to create our own application pool. There is no limit in running the application pool in the Internet Information System, but the limitation is that it may affect the performance of the server. Each website, web application, or web service is represented by each worker. Thus we also have an option to setup a web garden by enabling multiple worker process to run in a single application pool.
For each application pool in the Internet Information System there are two, .NET integration modes for running ASP.NET applications. Either one of two integration mode can be used by each application pool. This mode of integration specifies how IIS processes an incoming request to the sites, applications, and Web services that run in that application pool.
In IIS 7 and later, each application pool uses one of two .NET integration modes for running ASP.NET applications: Integrated or Classic. The .NET integration mode defined for the application pool determines how IIS processes an incoming request to the sites, applications and Web services that run in that application pool.
Integrated
Integrated mode is the default mode by which all the application pools in the IIS 7 and later runs. This mode allows all the ASP.NET modules to be a part in IIS request process without checking the type of resource requested. In this integrated mode all the features of the ASP.Net 2.0 request pipeline are made available to the requests for static content, as well as ASP, PHP, and other content types.
Classic
In Classic mode the asp.net applications are hosted by the IIS 6.0 processing pipe line. In this mode, the the ASP.NET requests are processed first through the IIS 7 and later modules. Also ASP.NET requests are then processed by the aspnet_isapi.dll. The IIS 7, later processing pipe lines, and the ASP.NET pipelines are separate from each other. The other resource types do not get the features of the ASP.NET request processing pipelines. This indicates the fact that ASP.NET request should undergo through authentication and authorization modules in both process models. However, Classic mode is not as efficient as Integrated mode. Classic mode is not compatible with applications that were developed using ASP.NET version 1.1 on an IIS 7 and later server. It cannot be ran without modifying the application in Integrated mode.
By using managedRuntimeLoader, CLRConfigFile, and startMode attributes of the <add> element we can configure an application to start automatically. The attributes mentioned respectively provides the:
1) Name of the managed DLL that provides run-time loading for your application
2) Common language run-time configuration file for the application
3) Startup type for the application.
The Application Pool Identity type is a feature in new IIS 7.5 and above editions, which is used for identity attribute of the <processModel> element. This process identity feature is a default for applications, and allows to secure the content areas to allow a specific application pool. This security feature can be enabled using the name of an application pool by using syntax “IIS AppPool\DefaultAppPool.” The surface attack area of the server is reduced severely because the identity feature is created dynamically.
Compatibility
Version | Notes |
IIS10.0 | The <applicationPools> element was not modified in IIS 10.0. |
IIS 8.5 | The <applicationPools> element was not modified in IIS 8.5. |
IIS 8.0 | The <applicationPools> element was not modified in IIS 8.0. |
IIS 7.5 | The <add> element of the <applicationPools> element was updated in IIS 7.5 to include attributes that allow you to preload applications by using the managedRuntimeLoader, CLRConfigFile, and startMode attributes, and to run applications using the new Application Pool Identity. |
IIS 7.0 | The <applicationPools> element was introduced in IIS 7.0. |
IIS 6.0 | The <applicationPools> element replaces the IIS 6.0 IIs Application Pools metabase object. |
If you need any further assistance please contact our support department.