IIS 之 託管管道模式

2021-09-06 22:44:23 字數 2993 閱讀 8322

iis 7.0 支援兩種管道模式:

(1)iis 7.0 最新提供的整合管道模式(integrated),

(2)經典管道模式(classic),經典管道模式是由先前版本的iis提供的。

我們可以通過應用程式池設定管道模式,這項功能對iis管理員尤其有用,因為這樣既可以令一台伺服器僅執行一種模式,也可以令兩種模式同時執行於一台伺服器上。

1. 經典模式

在iis 6.0中的經典模式中,asp.net是乙個新增到iis中的isapi。

iis 7.0之所以支援這種模式,是為了做到向後相容。但是,經典模式缺少許多整合模式才能提供的特性。在經典模式中,iis擁有自身的管道,這些管道可以通過建立乙個isapi擴充套件進行擴充,而isapi擴充套件是以難以開發而著稱的。asp.net作為乙個isapi擴充套件執行,只是iis管道中的一項組成部分。

下圖很好地解釋了上述情況。注意,在這種情況下,asp.net似乎是一種類似於馬後炮的成果,僅當iis處理isapi擴充套件時才能夠發揮作用。                   

利用副檔名,可以判斷使用哪個isapi處理程式。例如,可以將擴充套件名為.aspx 和.ascx的檔案對映到aspnet_isapi.dll;並且將擴充套件名為.asp的檔案對映到asp.dll,這樣就可以處理傳統的asp頁面;此外,將擴充套件名為.php的檔案對映到php.dll,這樣就可以處理php頁面,前提是已經安裝了php.dll。

此外,在iis 6.0和iis 7.0的經典模式中,某些特性是重複的。例如,錯誤處理就是一種重複的特性,因為iis可以處理非asp.net頁面,而asp.net可以處理所有將處理程式對映為aspnet_isapi.dll的頁面。

在iis 6.0中,我們可以將所有檔案型別都對映到asp.net,但是這樣做存在一些限制。最大的限制就是如何處理預設文件:乙個預設文件僅當在global.asax中或者在乙個http模組中被指定為預設文件時,這個預設文件才能夠得到處理。某些自定義的配置需要使用aspnet_isapi.dll處理所有的檔案型別。iis 7.0可以輕易地解決這個問題。

經典模式可以在無須修改web.config的前提下執行現有的web**,因此,如果使用的web farm中既包括iis 6.0伺服器,也包括iis 7.0伺服器,或者因為某些原因無法將web.config檔案轉換為遵循新語法的web.config檔案,那麼就可以使用經典模式。

2. 整合模式

利用整合模式,可以將asp.net作為iis的有機組成部分。現在,iis伺服器的功能被劃分為40多個模組,因此也就將iis和asp.net的功能劃分為不同的組成部分。諸如staticfilemodule、basicauthenticationmodule、formsauthentication、session、profile,以及rolemanager等模組都是iis管道的組成部分。

注意,formsauthentication、session、profile,以及rolemanager原本就是asp.net的組成部分,與iis並無關係。

下圖使用模組解釋了iis管道。這些模組原本是asp.net的組成部分,現在已經是iis管道的有機組成部分。  

3. 兩種模式之間配置的區別

iis 7.0對配置檔案進行了一些修改,web開發人員可以使用這些修改內容。

在整合模式中,http模組和http處理程式不再定義於中,而是定義於中。

如果在整合模式中執行乙個包括了http模組或http處理程式的web.config檔案,那麼將會發生失效。幸運的是,微軟公司已經詳細規定了乙個編號為500.22的錯誤資訊,這個錯誤資訊說明了如何一步步地遷移web.config檔案。

iis 7.5 中配置 節點

問題:在 iis7.5 中配置 節點的404頁面不起作用

分析

節點是iis7.0之前版本的主要配置節點,在ii7.0以後iis管道處理與asp.net管道處理進行了整合,提高了asp.net的處理效能。由於程式執行在iis7.5整合模式下,需要在節點中配置,新增加的節點中需要進行哪些修改以程式在iis7的整合模式下能完全生效呢,主要包含以下幾個方面:

(1) ----- 相當於中的

(2) ----- 相當於中的

(3) 下的----- 相當於中的

以上三點中,如果你的程式中有自定義的httpmodules或者httphandlers的話,那麼第一點和第二點非常重要,具體資料請msdn。

配置

補充

errormode有三個值,分別為custom、detailedlocalonly、detailed,意思為對使用者與伺服器端始終顯示自定義頁面、只能伺服器端顯示詳細出錯資訊、對使用者與伺服器端始終顯示詳細出錯資訊。

responsemode有file、executeurl、redirect三個層,分別表示使用伺服器端靜態檔案、可執行的url、url轉向。

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

IIS7 0 託管管道模式解析

iis 改善和發展的主要因素是iis已經成為應用程式 特別是asp.net 的支援平台。通過將asp.net直接整合到 iis 7.0 中,iis 7.0進一步推動了平台的發展。從管理功能到身份驗證,乃至請求處理管道本身,相關功能都已經整合到iis 7.0之中。將管道整合到iis 7.0中具有兩個好...

IIS 7 0 確定託管管道模式

iis7.0可以支援兩種管道模式 一種是 iis 7.0最新提供的整合管道模式,另一種是經典管道模式,這種模式是由先前版本的 iis 提供的。我們可以在應用程式池級設定管道模式,這項功能對 iis 管理員尤其有用,因為這樣既可以令一台伺服器僅執行一種模式,也可以令兩種模式同時執行於一台伺服器上 經典...

IIS託管WCF TCP繫結

1.分別配置http,tcp終結點 http終結點方便在瀏覽器中檢視 2.配置iis 使站點支援tcp 如果不出意外 這樣配置後即可使用服務了 問題彙總 一.找不到具有繫結 nettcpbinding 的終結點的與方案 net.tcp 匹配的基址。註冊的基址方案是 http 1安裝wcf 啟用 2....