问题

我昨天晚上部署了一个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.NET HttpModule 基本上具有与ISAPI过滤器相同的功率,ASP.NET HttpHandler 可以具有与ISAPI几乎相同的能力扩展可以有.在这种模式下,ASP.NET基本上是IIS的一部分.




相关问题推荐