国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

IIS7 應(yīng)用程序池的 托管管道模式與集成模式小結(jié)

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:42:50
文檔

IIS7 應(yīng)用程序池的 托管管道模式與集成模式小結(jié)

IIS7 應(yīng)用程序池的 托管管道模式與集成模式小結(jié):IIS 7 托管管道模式 經(jīng)典模式(Classic) 集成模式(Integrated) 分析與理解 IIS 7.0 支持兩種管道模式:一種是IIS 7.0最新提供的集成管道模式,另一種是經(jīng)典管道模式,經(jīng)典管道模式是由先前版本的IIS提供的。 我們可以通過應(yīng)用程序池設(shè)置管道模式,這項(xiàng)功能對
推薦度:
導(dǎo)讀IIS7 應(yīng)用程序池的 托管管道模式與集成模式小結(jié):IIS 7 托管管道模式 經(jīng)典模式(Classic) 集成模式(Integrated) 分析與理解 IIS 7.0 支持兩種管道模式:一種是IIS 7.0最新提供的集成管道模式,另一種是經(jīng)典管道模式,經(jīng)典管道模式是由先前版本的IIS提供的。 我們可以通過應(yīng)用程序池設(shè)置管道模式,這項(xiàng)功能對

IIS 7 托管管道模式 經(jīng)典模式(Classic) 集成模式(Integrated) 分析與理解

IIS 7.0 支持兩種管道模式:一種是IIS 7.0最新提供的集成管道模式,另一種是經(jīng)典管道模式,經(jīng)典管道模式是由先前版本的IIS提供的。

我們可以通過應(yīng)用程序池設(shè)置管道模式,這項(xiàng)功能對IIS管理員尤其有用,因?yàn)檫@樣既可以令一臺服務(wù)器僅運(yùn)行一種模式,也可以令兩種模式同時(shí)運(yùn)行于一臺服務(wù)器上。

上述兩種管道模式使用的web.config文件存在重大的區(qū)別,許多在經(jīng)典管道模式下能夠正常工作的web.config文件都無法在集成管道模式下正常工作。利用AppCmd.exe,我們可以將經(jīng)典管道模式下的配置文件格式自動轉(zhuǎn)換為集成管道模式下的配置文件格式。

我們有必要首先看看各種模式的結(jié)構(gòu),并且研究兩種模式之間的區(qū)別。

1. 經(jīng)典模式

在IIS 6.0中的經(jīng)典模式中,ASP.NET是一個(gè)添加到IIS中的ISAPI。IIS 7.0之所以支持這種模式,是為了做到向后兼容。但是,經(jīng)典模式缺少許多集成模式才能提供的特性。在經(jīng)典模式中,IIS擁有自身的管道,這些管道可以通過創(chuàng)建一個(gè)ISAPI擴(kuò)展進(jìn)行擴(kuò)充,而ISAPI擴(kuò)展是以難以開發(fā)而著稱的。ASP.NET作為一個(gè)ISAPI擴(kuò)展運(yùn)行,只是IIS管道中的一項(xiàng)組成部分。

下圖很好地解釋了上述情況。注意,在這種情況下,ASP.NET似乎是一種類似于馬后炮的成果,僅當(dāng)IIS處理ISAPI擴(kuò)展時(shí)才能夠發(fā)揮作用。

利用文件擴(kuò)展名,可以判斷使用哪個(gè)ISAPI處理程序。例如,可以將擴(kuò)展名為.aspx 和.ascx的文件映射到aspnet_isapi.dll;并且將擴(kuò)展名為.asp的文件映射到asp.dll,這樣就可以處理傳統(tǒng)的ASP頁面;此外,將擴(kuò)展名為.php的文件映射到php.dll,這樣就可以處理PHP頁面,前提是已經(jīng)安裝了php.dll。

此外,在IIS 6.0和IIS 7.0的經(jīng)典模式中,某些特性是重復(fù)的。例如,錯誤處理就是一種重復(fù)的特性,因?yàn)镮IS可以處理非ASP.NET頁面,而ASP.NET可以處理所有將處理程序映射為aspnet_isapi.dll的頁面。

在IIS 6.0中,我們可以將所有文件類型都映射到ASP.NET,但是這樣做存在一些限制。最大的限制就是如何處理默認(rèn)文檔:一個(gè)默認(rèn)文檔僅當(dāng)在global.asax中或者在一個(gè)HTTP模塊中被指定為默認(rèn)文檔時(shí),這個(gè)默認(rèn)文檔才能夠得到處理。某些自定義的配置需要使用aspnet_isapi.dll處理所有的文件類型。IIS 7.0可以輕易地解決這個(gè)問題。

經(jīng)典模式可以在無須修改web.config的前提下運(yùn)行現(xiàn)有的Web網(wǎng)站,因此,如果使用的Web farm中既包括IIS 6.0服務(wù)器,也包括IIS 7.0服務(wù)器,或者因?yàn)槟承┰驘o法將web.config文件轉(zhuǎn)換為遵循新語法的web.config文件,那么就可以使用經(jīng)典模式。

2. 集成模式

利用集成模式,可以將ASP.NET作為IIS的有機(jī)組成部分?,F(xiàn)在,IIS服務(wù)器的功能被劃分為40多個(gè)模塊,因此也就將IIS和ASP.NET的功能劃分為不同的組成部分。諸如StaticFileModule、BasicAuthenticationModule、FormsAuthentication、Session、Profile,以及RoleManager等模塊都是IIS管道的組成部分。注意,F(xiàn)ormsAuthentication、Session、Profile,以及RoleManager原本就是ASP.NET的組成部分,與IIS并無關(guān)系。

下圖使用模塊解釋了IIS管道。這些模塊原本是ASP.NET的組成部分,現(xiàn)在已經(jīng)是IIS管道的有機(jī)組成部分。
IIS管道提供了二十多種事件,開發(fā)人員可以利用這些事件來擴(kuò)展Web服務(wù)器的功能。實(shí)際上,通過創(chuàng)建定制模塊,同時(shí)更新applicationHost.config,可以僅使用自定義模塊,而無須再使用微軟公司提供的內(nèi)置模塊,我們可以將IIS 7.0中的模塊替換為自定義的模塊。

3. 兩種模式之間配置的區(qū)別

其實(shí),總的來說最大的差別就是經(jīng)典模式處理ASP.NET程序時(shí),需要退出管道,然后把程序轉(zhuǎn)入ASP.NET ISAPI過濾器,通過ISAPI的處理,在將一個(gè)HTTP響應(yīng)返回給客戶端之前,這個(gè)請求再返回管道。而集成模式把ASP.NET已經(jīng)集成到管道中,是處理無論ASP.NET程序還是非ASP.NET程序都在管道中進(jìn)行,不考慮程序類型。簡化了工作。

補(bǔ)充

IIS 7.0對配置文件進(jìn)行了一些修改,Web開發(fā)人員可以使用這些修改內(nèi)容。例如,<system.webServer>節(jié)就是這樣一項(xiàng)修改,無論是經(jīng)典模式還是集成模式都可以識別<system.webServer>節(jié),同時(shí),<system.webServer>節(jié)既可以在applicationHost.config文件中設(shè)置,也可以在web.config文件中設(shè)置。<system.webServer>節(jié)既可以控制靜態(tài)頁面,也可以控制動態(tài)頁面。即使在經(jīng)典模式中,<system.webServer>節(jié)也具有重要作用,它可以幫助Web開發(fā)人員在web.config文件中設(shè)置不同的IIS配置。

在集成模式中,HTTP模塊和HTTP處理程序不再定義于<system.web>中,而是定義于<system.webServer>中。如果在集成模式中運(yùn)行一個(gè)包括了HTTP模塊或HTTP處理程序的web.config文件,那么將會發(fā)生失效。幸運(yùn)的是,微軟公司已經(jīng)詳細(xì)規(guī)定了一個(gè)編號為500.22的錯誤信息,這個(gè)錯誤信息說明了如何一步步地遷移web.config文件。

IIS 7.5 中配置 <system.webServer> 節(jié)點(diǎn)

問題

在 IIS7.5 中配置 <customError><error> 節(jié)點(diǎn)的404頁面不起作用

分析

<system.web>節(jié)點(diǎn)是iis7.0之前版本的主要配置節(jié)點(diǎn),在II7.0以后IIS管道處理與ASP.NET管道處理進(jìn)行了集成,提高了ASP.NET的處理性能。由于程序運(yùn)行在IIS7.5集成模式下,需要在<system.webServer>節(jié)點(diǎn)中配置,新增加的<system.webServer>節(jié)點(diǎn)中需要進(jìn)行哪些修改以程序在IIS7的集成模式下能完全生效呢,主要包含以下幾個(gè)方面:

(1) <modules> ----- 相當(dāng)于<system.web>中的<httpModules>

(2) <handlers> ----- 相當(dāng)于<system.web>中的<httpHandlers>

(3) <customError>下的<error> ----- 相當(dāng)于<system.web>中的<httpErrors>

以上三點(diǎn)中,如果你的程序中有自定義的httpModules或者h(yuǎn)ttpHandlers的話,那么第一點(diǎn)和第二點(diǎn)非常重要,具體資料請MSDN。

配置

<httpErrors errorMode="DetailedLocalOnly">
<remove statusCode="404" />
<error statusCode="404" path="/404.htm" responseMode="ExecuteURL" />
</httpErrors>

補(bǔ)充

errorMode有三個(gè)值,分別為Custom、DetailedLocalOnly、Detailed,意思為對用戶與服務(wù)器端始終顯示自定義頁面、只能服務(wù)器端顯示詳細(xì)出錯信息、對用戶與服務(wù)器端始終顯示詳細(xì)出錯信息。

responseMode有File、ExecuteUrl、Redirect三個(gè)層,分別表示使用服務(wù)器端靜態(tài)文件、可執(zhí)行的URL、URL轉(zhuǎn)向。

注意:<httpErrors>與<customErrors>是不同的,前者主要用于處理http相關(guān)的錯誤信息,而后者主要是處理應(yīng)用程序級的錯誤頁轉(zhuǎn)向。

<customErrors>

同樣,如果Application_Error和<customerErrors>同時(shí)存在,也存在執(zhí)行順序的問題。因?yàn)閮?yōu)先級Application_Error事件> <customErrors>配置項(xiàng),所以發(fā)生應(yīng)用程序級錯誤時(shí),優(yōu)先執(zhí)行Application_Error事件中的代碼,如果Application_Error事件中調(diào)用了Server.ClearError()函數(shù),<customerErrors>配置節(jié)中的defaultRedirect不起作用,因?yàn)镋xception已經(jīng)被清除;如果Application_Error事件中沒用調(diào)用了Server.ClearError()函數(shù),錯誤頁會重新定位到defaultRedict指定的URL頁面,為用戶顯示友好出錯信息。

通過對.NET提供的以上四種錯誤處理機(jī)制的分析,我們可以把它們從不同的角度分類,便于我們理解和使用。

1、從功能上分類:用于異常處理(Handling exceptions)是Page_Error事件和Application_Error事件;用戶錯誤頁面重定向(Redirecting the user to an error page)的是 ErrorPage屬性 和 <customErrors>配置項(xiàng)。

2、從錯誤處理的范圍分類:用于頁面級(Page level)錯誤處理的是Page_Error事件 和 ErrorPage屬性;用于應(yīng)用程序級(Application level)錯誤處理的是Application_Error事件 和 <customErrors>配置項(xiàng)。

這些 ASP.NET 模塊不只能處理 ASP.NET 網(wǎng)頁程序,也能處理其他如 ASP 程序、PHP 程序或靜態(tài) HTML 網(wǎng)頁,也因?yàn)?ASP.NET 的諸多功能已經(jīng)成為 IIS 7 的一部份,因此 ASP 程序、PHP 程序或靜態(tài) HTML 網(wǎng)頁等類型的要求,也能使用像是Forms認(rèn)證(Forms Authentication)或輸出緩存(Output Cache)等 ASP.NET 2.0 的功能(但須修改 IIS 7 的設(shè)定值)。也因?yàn)?IIS 7 允許自行以 ASP.NET API 開發(fā)并加入模塊,因此 ASP.NET 網(wǎng)頁開發(fā)人員將更容易擴(kuò)充 IIS 7 和網(wǎng)站應(yīng)用程序的功能,甚至能自行以 .NET 編寫管理 IIS 7 的程序(例如以程控 IIS 7 以建置網(wǎng)站或虛擬目錄)


IIS 7 的執(zhí)行架構(gòu)圖(集成托管信道模式下的架構(gòu))
小結(jié)
IIS5 到 IIS6 的改進(jìn),主要是 HTTP.sys 的改進(jìn)。
IIS6 到 IIS7 的改進(jìn),主要是 ISAPI 的改進(jìn)。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

IIS7 應(yīng)用程序池的 托管管道模式與集成模式小結(jié)

IIS7 應(yīng)用程序池的 托管管道模式與集成模式小結(jié):IIS 7 托管管道模式 經(jīng)典模式(Classic) 集成模式(Integrated) 分析與理解 IIS 7.0 支持兩種管道模式:一種是IIS 7.0最新提供的集成管道模式,另一種是經(jīng)典管道模式,經(jīng)典管道模式是由先前版本的IIS提供的。 我們可以通過應(yīng)用程序池設(shè)置管道模式,這項(xiàng)功能對
推薦度:
標(biāo)簽: 模式 托管 管道
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产青草视频在线观看 | 五十路在线播放 | 欧美日批 | 成人国产精品一级毛片视频 | 国产不卡视频在线观看 | 国产成人精品视频在放 | 国产日韩第一页 | 精品一区二区三区亚洲 | 精品日韩二区三区精品视频 | 我被公睡做舒服爽中文字幕 | 国内精品久久久久久中文字幕 | 成人精品视频在线观看完整版 | 国产资源视频在线观看 | 欧美亚洲国产日韩一区二区三区 | 日韩精品欧美亚洲高清有无 | 欧美日韩国产一区二区三区 | 欧美亚洲一区二区三区 | 激情一区二区三区成人 | 国产三级一区二区 | 国产精品国产精品国产专区不卡 | 欧美变态人zozo禽交 | 日韩无 | 在线永久免费观看的毛片 | 97在线精品 | 亚洲欧美日韩在线观看二区 | 国产欧美日韩精品在钱 | 欧美日韩国产一区二区三区 | 久久精品国产999久久久 | 免费观看国产 | 在线播放一区二区三区 | 欧美日韩不卡视频一区二区三区 | 免费国产最新进精品视频 | 国产码欧美日韩高清综合一区 | 国产高清美女一级毛片久久 | 欧美系列在线 | 日本一区二区三区不卡在线视频 | 日韩高清一区二区三区不卡 | 国内偷自第一二三区 | 亚洲一区精品伊人久久 | 国产高清在线免费 | 欧美性猛交一区二区三区精品 |