IIS經典模式和整合模式的區別

2021-06-29 03:47:00 字數 2202 閱讀 7982

在 iis 7.0 中,應用程式池有兩種執行模式:整合模式和經典模式。

應用程式池模式會影響伺服器處理託管**請求的方式。

如果託管應用程式在採用整合模式的應用程式池中執行,伺服器將使用 iis 和 asp.net 的整合請求處理管道來處理請求。

如果託管應用程式在採用經典模式的應用程式池中執行,伺服器會繼續通過 aspnet_isapi.dll 路由託管**請求,其處理請求的方式就像應用程式在 iis 6.0 中執行一樣。

經典模式

指的是與iis 6或者之前版本保持相容的一種模式.

在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檔案,那麼就可以使用經典模式。

整合模式:

這種全新的模式,允許我們將asp.net更好地與iis整合,甚至允許我們在asp.net中編寫一些功能(例如module)來改變iis的行為(擴充套件)。整合的好處是,不再通過isapi的方式,提高了速度和穩定性。至於擴充套件,則可以使得我們對於iis以及其他型別的請求有更多的控制。

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

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

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

IIS7 經典模式和整合模式的區別

iis7.0中的web應用程式有兩種配置模式 經典模式和整合模式。經典模式是為了與之前的版本相容,使用isapi擴充套件來呼叫asp.net執行庫,原先執行於iis6.0下的web應用程式遷移到iis7.0中只要將應用程式配置成經典模式,基本不用修改就可以正常執行。整合模式是一種統一的哀求處理管道,...

IIS7 經典模式和整合模式的區別

iis7.0中的web應用程式有兩種配置模式 經典模式和整合模式。經典模式是為了與之前的版本相容,使用isapi擴充套件來呼叫asp.net執行庫,原先執行於iis6.0下的web應用程式遷移到iis7.0中只要將應用程式配置成經典模式,基本不用修改就可以正常執行。整合模式是一種統一的哀求處理管道,...

IIS7 經典模式和整合模式的區別分析

iis7.0中的web應用程式有兩種配置模式 經典模式和整合模式。兩者區別大家可以參考下,根據實際情況選用。經典模式是為了與之前的版本相容,使用isapi擴充套件來呼叫asp.net執行庫,原先執行於iis6.0下的web應用程式遷移到iis7.0中只要將應用程式配置成經典模式,基本不用修改就可以正...