Application pools are essentially URLS served by the same (group of) worker process(es). They set up boundaries between applications, which means an application running in an application pool cannot affect one that’s running in another. Also, a failure of an application won’t affect the apps hosted in other application pools. The third benefit of application pools is that you can achieve better performance by using them.
There are some guidelines you should be aware of when designing application pools:
- Create a unique application pool for each web site in a given server.
- Configure a unique user account with the least possible rights for each application pool.
- If you want to run an application with its unique properties, create its own application pool.
Also, you should not add applications that using different versions of the .NET Framework for the same application pool. It may cause errors.
The identity of an application pool is an important topic (especially for this exam). It is simply a user account under the application pool’s worker process runs. By default, IIS7 uses Network Service. You should change the identities of your application pools when you want to grant custom rights to resources, folders, etc.
Another way to control the code executor account is the identity element in web.config. By setting it to true, the application will execute under the default anonymous internet user, or the authenticated user. You can also set it to use a predefined user, with the required rights.
An interesting thing is application pool recycling. There may be situations when you’d like to control the recycling of a given application pool, such as when you’d like to enable only one running instance of a site in a given moment. To achieve this, you should set the application pool’s Disable Overlapped Recycle property appropriately. By default, when you make configuration changes, application pools recycles themselves. You can cancel this behavior at the advanced properties of the application pool.
I’d not like to explain the creation, management, etc. of an application pool, because you can handle these task in a very straightforward manner in IIS. Look at it and experiment.