Classic mode (the only mode in IIS6 and older versions) is a mode where IIS only works with ISAPI extensions and ISAPI filters directly. Roughly, ASP.NET is just an ISAPI extension ( aspnet_isapi.dll
) and an ISAPI filter ( aspnet_filter.dll
). IIS only treats ASP.NET as an external plugin implemented in the ISAPI standard and works with it as a black box (and only when it is necessary to send the request to ASP.NET). In this mode, ASP.NET is not much different from PHP or other technologies for IIS, such as Classic ASP. Obviously it is more limited in a number of things, being discouraged to use if the application is in a Framework above 2.0.
Integrated mode is a new mode that appeared just in IIS7, where IIS pipeline is fully integrated with the ASP.NET request channel. ASP.NET can see each request as it wants and manipulate its parts along the way, no longer being treated as an external plugin. In this mode, ASP.NET is basically a part of IIS.
The options are maintained until today by a simple compatibility scheme, in which companies do not want to modify their systems but wish to migrate from Windows platform, for example. Otherwise, there is no advantage in using classic mode.