经典模式:

  指的是与IIS 6或者之前版本保持兼容的一种模式,一个典型问题就是,在处理ASP.NET这种动态网站的时候,它是通过一个所谓的ISAPI程序,作为插件的方式来工作的。针对不同的动态应用程序(例如ASP,PHP等),会需要不同的ISAPI。向下兼容6.0,web.config不需要修改即可以使用。是在早期的6.0版本 2003中,使用通用映射。

集成模式:

  这种全新的模式,允许我们将ASP.NET更好地与IIS集成,甚至允许我们在ASP.NET中编写一些功能(例如Module)来改变IIS的行为(扩展)。集成的好处是,不再通过ISAPI的方式,提高了速度和稳定性。至于扩展,则可以使得我们对于IIS以及其他类型的请求有更多的控制。集成一大堆的模块功能,需要在web.config中修改。这是一个目录结构(例如MVC中的/controller/Index)需要用DLL来处理。集成模式包含通用映射。

 <system.webServer>

  <validation validateIntegratedModeConfiguration="false" />

 </system.webServer>

经典模式和集成模式之间配置的区别

IIS 7.0对配置文件进行了一些修改,Web开发人员可以使用这些修改内容。例如,节就是这样一项修改,无论是经典模式还是集成模式都可以识别节,同时,节既可以在applicationHost.config文件中设置,也可以在web.config文件中设置。节既可以控制静态页面,也可以控制动态页面。即使在经典模式中,节也具有重要作用,它可以帮助Web开发人员在web.config文件中设置不同的IIS配置。

在集成模式中,HTTP模块和HTTP处理程序不再定义于中,而是定义于中。如果在集成模式中运行一个包括了HTTP模块或HTTP处理程序的web.config文件,那么将会发生失效。