IIS7的Application Pools有两种mode,一种是Integrated,一种是classic。如果使用Integrated模式,那么对自定义的 httpModules和httpHandlers就要修改配置文件了,需要将他们转移到<modules> 和<hanlders>节里去。
IIS7的两种模式和IIS6有什么区别?长话短说:
IIS7.0 Integrated mode: asp.net 的modules和handlers从<system.webServer>下的<modules> 和<handlers>里读取,以前的<system.web>下的<httpModules> 和<httpHandlers>配置节会被忽略,如果设置禁止验证(disabled validation),是不会产生错误的。
IIS7.0 Classic mode: 与 以上情况是相反的,<modules>和<handlers>会被忽略。
IIS6.0 : 这个大家都不陌生了。
如果做一个可以在IIS6和IIS7的两种mode下都可以运行的配 置?validateIntegratedModeConfiguration=“false”是做什么用的?有需要的朋友可以 在这里查看 详情。
其次,从iis6迁移到iis7上后,有些url rewrite功能可能就不好用了, 下面这篇文章讲述了一个hack方法 ,有效的控制了staticFile handler的职责,实现了像iis6那样的工作方式。