The Application Pool a.k.a. AppPool and Application Domain a.k.a. AppDomain are two separate entities with more or less the same functionality but at different levels and from different providers.
Points of Interest
- Application Domain is an ASP.NET concept which provides isolation for each ASP.NET application. Application Pool is an IIS concept which also provides isolation but at the process level.
- Application Domain is available only for ASP.NET applications. Application Pool is available for both ASP.NET and non-ASP.NET applications.
- Each ASP.NET application has its own Application Domain. One Application Pool can be shared by more than one applicaton.
- You do not have much control on creating an Application Domain for your application. You can configure the Application Pool using the IIS manager.
- You can edit and save the web.config file to recreate the Application Domain. You can recycle the Application Pool in the IIS manager.
The following diagram will give you a better understanding of how each application uses the Application Pool and the Application Domain.
Application A and B are both ASP.NET applications while application C is a non ASP.NET. All the 3 applications are hosted in IIS (6.0 or later). Application A and B will have their own Application Domain while Application C will not have an Application Domain as it is not an ASP.NET application. All the 3 applications can have the same Applicaton Pool but in the diagram below I have configured Application Pool named App-Pool-A for Application A and another Application Pool named App-Pool-BC for Applications B and C.