ApplicationPool - Classic Mode VS integrated Mode
Classic pipeline mode is the standard processing mode used with IIS6.0.
If a managed web application runs in an application pool with classic mode, IIS processes the requests in an application pool by using separate processing pipelines for IIS and ISAPI.
This means that requests for ASP.NET applications are processed in mulitple stages like this :
1 The incoming HTTP request is received through the IIS core.
2 The request is processed through ISAPI
3 The request is processed through ASP.NET
4 The request passes back through ISAPI
5 The request passes back through the IIS core where the HTTP response finally is delivered.
Intergrated pipeline mode is a dynamic processing mode that can be used with IIS7.0
If a managed Web application runs in an application pool with integrated mode, IIS processes the request in an application pool by using an intergrated processing pipeline for IIS and ASP.NET
This means that requests for ASP.NET applications are processed directly like this :
1 The incoming HTTP request is received through the IIS core and ASP.NET
2 The appropriate handler execeutes the request and delivers the HTTP response.
Form an administrator perspective, applications running in classic pipeline mode can appear to be less responsive than their integrated counterparts.
From an application developer perspective, classic pipeline mode has two key limitations.
First, services provided by ASP.NET modules and applications are not available to non-ASP.NET requests
Second, ASP.NETmodules are unable to affect certain parts of IIS request processing that occurred before and after the ASP.NET execution path.
With an integrated pipeline, all native IIS modules an managed modules can process incomming requests at any stage.
This enables services provided by managed modules to be used for requests to pages created using static content, ASP.NET, PHP, and more.
Direct integration makes it possible for developers to write custom authentication modules, to create modules that modify request headers before other components process the request, and more.
When woring with the integrated pipeline mode, it is important to keep in mind that in this mode ASP.NET does not rely on the ISAPI or ISAPI Extension modules.
Because of this, the running of an integrated ASP.NET application is not affected by the ISAPI CGI restriction list.
The ISAPI CGI restriction list applies only to ISAPI and CGI applications(which includes ASP.NET classic applications).
For integrated mode to work properly, you must specify handler mappings for all custom file types.
Further, many applications written for classic pipeline mode will need to be migrated to run properly in integrated pipeline mode.
The good news is that the Configuration Validation module, included as a part of the server core, can automatically detect an application that requires migration and return an error message starting that the application must be migrated.
You can migrate application by using Appcmd.exe(general-purpose IIS command -line administration tool)
Any migration error reported by IIS typically contains the necessary command for migrating the application.
To use this command to migrate an application automatically, right-click the command-prompticon and choose Run As Administrator.
You then can migrate an application manually, by running the following command at the elevated cmmmand pompt.
appcmd migrate config AppPath
where AppPath is the virtual path of the application .
The virtual path contains the name of the associated Web site and applications.
For example, if an application named SalesApp was Configured on the Defulat Web Site and needed to be migrated,
you could do this by running the following command
appcmd migrate config ""efault Web Site/SalesApp"
When AppCmd finishes migrating the application, the application will run in both classic and integrated modes