程序池經(jīng)典和集成的區(qū)別
2015-12-29 21:36:43
14197
[摘抄自網(wǎng)絡(luò)]
1.定義
集成模式,如果托管應(yīng)用程序在采用集成模式的應(yīng)用程序池中運行,服務(wù)器將使用IIS和ASP.NET的集成請求處理管道來處理請求。
經(jīng)典模式,用經(jīng)典模式的應(yīng)用程序池運行,服務(wù)器將會繼續(xù)通過Aspnet_isapi.dll路由托管代碼請求,其處理請求的方式就像應(yīng)用程序在 IIS 6.0 中運行一樣。
2.在IIS6.0的經(jīng)典模式中,ASP.Net是一個添加到IIS中的ISAPI。在經(jīng)典模式中IIS擁有自身的管道。這些管道可以通過創(chuàng)建一個ISAPI擴(kuò)展進(jìn)行擴(kuò)充。ASP.NET只是ISAPI管道的一個組成部分。利用文件擴(kuò)展名判斷用那個ISAPI處理程序。
經(jīng)典形式是為了與之前的版本兼容,運用ISAPI擴(kuò)展來調(diào)用ASP.NET運轉(zhuǎn)庫,原先運轉(zhuǎn)于IIS6.0下的Web應(yīng)用程序遷移到IIS7.0中只需將應(yīng)用程序配置成經(jīng)典形式,代碼根本不用修正就能夠正常運轉(zhuǎn)。
3.集成形式是一種統(tǒng)一的乞求處置管道,它將ASP.NET懇求管道與IIS中心管道組合在一同,這種形式可以提供更好的性能,可以完成配置和管理的模塊化,而且增加了運用托管代碼模塊擴(kuò)展IIS時的靈敏性。假設(shè)老的Web應(yīng)用程序運轉(zhuǎn)于IIS7.0的集成形式下,可能需求對應(yīng)用程序的web.config文件停止修正,特別是運用了完成IHttpHandler接口的自定義模塊的狀況。IIS7.0在同一個效勞器上可以同時支持兩種形式的應(yīng)用程序。
4.web.config文件的變化.
system.webServer節(jié)指定了應(yīng)用于web應(yīng)用程序的IIS7.0設(shè)置,其父節(jié)點是configuration,該節(jié)點中能夠設(shè)置的內(nèi)容包括:當(dāng)懇求未包含指定資源時,Web效勞器返回給客戶端的默許文檔(defaultDocument); 響應(yīng)的緊縮設(shè)置(httpCompression) 自定義頭部(httpProtocol節(jié)的customHeaders) 模塊(modules) 處置程序(handlers)其中的一些設(shè)置僅適用于集成形式,而不適用于經(jīng)典形式,如經(jīng)典形式下運轉(zhuǎn)的應(yīng)用程序則疏忽web.config的system.WebServer節(jié)中指定的一切托管代碼模塊和處置程序,這種形式下web應(yīng)用程序應(yīng)該在syste.web節(jié)的httpModules和httpHandlers中定義模塊和處置程序。