在IIS 7中,添加一個應(yīng)用程序或者單獨的網(wǎng)站,默認會自動新建一個對應(yīng)的“應(yīng)用程序池”,這也是IIS 7的一大特色。
在早期的IIS 5.0中,只有一個應(yīng)用程序池的情況下,很容易造成“全軍覆沒,一榮俱損”。因為所有的網(wǎng)站(或者虛擬目錄下的應(yīng)用程序)都“寄居”在一個“池”,當這個“池”崩潰了,所有的網(wǎng)站都杯具了。
后來的IIS 6中,有了“應(yīng)用程序池”的概念,但是默認不會自動添加,IIS 管理員可以手動去添加,配置,這樣是的IIS 具有很強的隔離性。
應(yīng)用程序池具有下列優(yōu)點:
改進的服務(wù)器和應(yīng)用程序性能。對于占用大量資源的應(yīng)用程序,您可以將其分配給它們自己的應(yīng)用程序池,以免影響其他應(yīng)用程序的性能。
改進的應(yīng)用程序可用性。如果一個應(yīng)用程序池中的應(yīng)用程序發(fā)生故障,將不會影響其他應(yīng)用程序池中的應(yīng)用程序。
改進的安全性。通過隔離應(yīng)用程序,可以降低一個應(yīng)用程序訪問其他應(yīng)用程序資源的幾率。
在 IIS 7 中,應(yīng)用程序池有兩種運行模式:集成模式和經(jīng)典模式。應(yīng)用程序池模式會影響服務(wù)器處理托管代碼請求的方式。如果托管應(yīng)用程序在采用集成模式的應(yīng)用程序池中運行,服務(wù)器將使用 IIS 和 ASP.NET 的集成請求處理管道來處理請求。但是,如果托管應(yīng)用程序在采用經(jīng)典模式的應(yīng)用程序池中運行,服務(wù)器會繼續(xù)通過 Aspnet_isapi.dll 路由托管代碼請求,其處理請求的方式就像應(yīng)用程序在 IIS 6.0 中運行一樣。
![](/d/20211017/d999baab0877f311acc216254ff687f4.gif)
大多數(shù)托管應(yīng)用程序應(yīng)該都能在采用集成模式的應(yīng)用程序池中成功運行,但為實現(xiàn)版本兼容,有時也需要以經(jīng)典模式運行。應(yīng)該先對集成模式下運行的應(yīng)用程序進行測試,以確定是否真的需要采用經(jīng)典模式。使用IIS 7 部署asp.net mvc 應(yīng)用程序時,只需要選擇“集成”即可,不需要像在IIS 6中繁瑣的配置(設(shè)置ISAPI映射,添加通配符...)
您可能感興趣的文章:- IIS7.5應(yīng)用程序池集成模式和經(jīng)典模式的區(qū)別介紹
- IIS7 應(yīng)用程序池的 托管管道模式與集成模式小結(jié)