Asp.net
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.NET
HttpModule基本上具有與 ISAPI 過濾器幾乎一樣的功能,並且 ASP.NETHttpHandler可以具有與 ISAPI 擴展幾乎相同的功能。在這種模式下,ASP.NET 基本上是 IIS 的一部分。