IIS7中“经典”和“集成”管道模式的区别是什么?

昨晚我部署了一个ASP.NET MVC应用程序,发现将IIS7设置为集成模式部署起来工作量更小。我的问题是有什么区别?使用其中一种方法的含义是什么

经典模式(IIS6及以下版本中唯一的模式)是一种IIS仅直接与ISAPI扩展和ISAPI过滤器一起工作的模式。事实上,在这种模式下,ASP.NET只是一个ISAPI扩展(aspnet_ISAPI.dll)和一个ISAPI过滤器(aspnet_filter.dll)。IIS只是将ASP.NET视为在ISAPI中实现的一个外部插件,并将其作为一个黑匣子使用(仅当需要向ASP.NET发出请求时)。在这种模式下,ASP.NET与PHP或其他IIS技术没有太大区别

另一方面,集成模式是IIS7中的一种新模式,其中IIS管道与ASP.NET请求管道紧密集成(即完全相同)。ASP.NET可以看到它想要的每一个请求,并在此过程中进行操作。ASP.NET不再被视为外部插件。它在IIS中完全混合和集成。在这种模式下,ASP.NETHttpModules基本上具有与ISAPI过滤器相同的功能,并且ASP.NETHttpHandlers具有与ISAPI扩展几乎相同的功能。在这种模式下,ASP.NET基本上是IIS的一部分

发表评论