IIS7.0应用程序池集成和经典的区别

来源:互联网 发布:淘宝买东西保修咋办 编辑:程序博客网 时间:2024/06/06 00:20

集成模式,如果托管应用程序在采用集成模式的应用程序池中运行,服务器将使用IIS和ASP.NET的集成请求处理管道来处理请求。

经典模式,用经典模式的应用程序池运行,服务器将会继续通过Aspnet_isapi.dll路由托管代码请求,其处理请求的方式就像应用程序在 IIS 6.0 中运行一样。

在IIS6.0的经典模式中,ASP.Net是一个添加到IIS中的ISAPI。在经典模式中IIS拥有自身的管道。这些管道可以通过创建一个ISAPI扩展进行扩充。ASP.NET只是ISAPI管道的一个组成部分。利用文件扩展名判断用那个ISAPI处理程序。


经典形式是为了与之前的版本兼容,运用ISAPI扩展来调用ASP.NET运转库,原先运转于IIS6.0下的Web应用程序迁移到IIS7.0中只需将应用程序配置成经典形式,代码根本不用修正就能够正常运转。

集成形式是一种统一的乞求处置管道,它将ASP.NET恳求管道与IIS中心管道组合在一同,这种形式可以提供更好的性能,可以完成配置和管理的模块化,而且增加了运用托管代码模块扩展IIS时的灵敏性。假设老的Web应用程序运转于IIS7.0的集成形式下,可能需求对应用程序的web.config文件停止修正,特别是运用了完成IHttpHandler接口的自定义模块的状况。IIS7.0在同一个效劳器上可以同时支持两种形式的应用程序。

web.config文件的变化

system.webServer节指定了应用于web应用程序的IIS7.0设置,其父节点是configuration,该节点中能够设置的内容包括:

当恳求未包含指定资源时,Web效劳器返回给客户端的默许文档(defaultDocument); 响应的紧缩设置(httpCompression) 自定义头部(httpProtocol节的customHeaders) 模块(modules) 处置程序(handlers)

其中的一些设置仅适用于集成形式,而不适用于经典形式,如经典形式下运转的应用程序则疏忽web.config的system.WebServer节中指定的一切托管代码模块和处置程序,这种形式下web应用程序应该在syste.web节的httpModules和

httpHandlers中定义模块和处置程序。

0 0