在IIS 7中,添加一個(gè)應(yīng)用程序或者單獨(dú)的網(wǎng)站,默認(rèn)會(huì)自動(dòng)新建一個(gè)對(duì)應(yīng)的“應(yīng)用程序池”,這也是IIS 7的一大特色。
在早期的IIS 5.0中,只有一個(gè)應(yīng)用程序池的情況下,很容易造成“全軍覆沒(méi),一榮俱損”。因?yàn)樗械木W(wǎng)站(或者虛擬目錄下的應(yīng)用程序)都“寄居”在一個(gè)“池”,當(dāng)這個(gè)“池”崩潰了,所有的網(wǎng)站都杯具了。
后來(lái)的IIS 6中,有了“應(yīng)用程序池”的概念,但是默認(rèn)不會(huì)自動(dòng)添加,IIS 管理員可以手動(dòng)去添加,配置,這樣是的IIS 具有很強(qiáng)的隔離性。
應(yīng)用程序池具有下列優(yōu)點(diǎn):
改進(jìn)的服務(wù)器和應(yīng)用程序性能。對(duì)于占用大量資源的應(yīng)用程序,您可以將其分配給它們自己的應(yīng)用程序池,以免影響其他應(yīng)用程序的性能。
改進(jìn)的應(yīng)用程序可用性。如果一個(gè)應(yīng)用程序池中的應(yīng)用程序發(fā)生故障,將不會(huì)影響其他應(yīng)用程序池中的應(yīng)用程序。
改進(jìn)的安全性。通過(guò)隔離應(yīng)用程序,可以降低一個(gè)應(yīng)用程序訪問(wèn)其他應(yīng)用程序資源的幾率。
在 IIS 7 中,應(yīng)用程序池有兩種運(yùn)行模式:集成模式和經(jīng)典模式。應(yīng)用程序池模式會(huì)影響服務(wù)器處理托管代碼請(qǐng)求的方式。如果托管應(yīng)用程序在采用集成模式的應(yīng)用程序池中運(yùn)行,服務(wù)器將使用 IIS 和 ASP.NET 的集成請(qǐng)求處理管道來(lái)處理請(qǐng)求。但是,如果托管應(yīng)用程序在采用經(jīng)典模式的應(yīng)用程序池中運(yùn)行,服務(wù)器會(huì)繼續(xù)通過(guò) Aspnet_isapi.dll 路由托管代碼請(qǐng)求,其處理請(qǐng)求的方式就像應(yīng)用程序在 IIS 6.0 中運(yùn)行一樣。

大多數(shù)托管應(yīng)用程序應(yīng)該都能在采用集成模式的應(yīng)用程序池中成功運(yùn)行,但為實(shí)現(xiàn)版本兼容,有時(shí)也需要以經(jīng)典模式運(yùn)行。應(yīng)該先對(duì)集成模式下運(yùn)行的應(yīng)用程序進(jìn)行測(cè)試,以確定是否真的需要采用經(jīng)典模式。使用IIS 7 部署asp.net mvc 應(yīng)用程序時(shí),只需要選擇“集成”即可,不需要像在IIS 6中繁瑣的配置(設(shè)置ISAPI映射,添加通配符...)
您可能感興趣的文章:- IIS7.5應(yīng)用程序池集成模式和經(jīng)典模式的區(qū)別介紹
- IIS7 應(yīng)用程序池的 托管管道模式與集成模式小結(jié)