IIS 6.0 and previous versions allowed the development of .NET application components via the ASP.NET platform. ASP.NET integrated with IIS via an ISAPI extension, and exposed its own application and request processing model. This effectively exposed two separate server pipelines, one for native ISAPI filters and extension components, and another for managed application components. ASP.NET components would execute entirely inside the ASP.NET ISAPI extension bubble and only for requests mapped to ASP.NET in the IIS script map configuration.
IIS 7.0 and above integrates the ASP.NET runtime with the core web server, providing a unified request processing pipeline that is exposed to both native and managed components known as modules. The many benefits of integration include:
- Allowing services provided by both native and managed modules to apply to all requests, regardless of handler. For example, managed Forms Authentication can be used for all content, including ASP pages, CGIs, and static files.
- Empowering ASP.NET components to provide functionality that was previously unavailable to them due to their placement in the server pipeline. For example, a managed module providing request rewriting functionality can rewrite the request prior to any server processing, including authentication.
- A single place to implement, configure, monitor and support server features such as single module and handler mapping configuration, single custom errors configuration, single url authorization configuration.
Learn more about building IIS 7.0 and above modules in Developing IIS 7.0 and Above Modules and Handlers with the .NET Framework.
英文部分内容链接在这里。这里不是经典模式和集成模式的区别，而是IIS不同的版本之间的区别，IIS7.0对内部的处理方式（如Request请求特别是认证）做了一些改变，或者可以理解是为了解决以前版本设计的不足或者优化，但是又要保证和以前的IIS完全兼容，所以给兼容Legacy IIS取了一个选择项名字，叫做“经典模式（Classic Mode）”。改进后的（IIS 7.0）取个选择项名字叫做“集成模式（Integrated Mode）”。或许用的更多理解会更加深刻的。