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

2022-02-22 17:33:24 字數 2318 閱讀 6168

iis7.0中的web應用程式有兩種配置模式:經典模式和整合模式。經典模式是為了與之前的版本相容,使用isapi擴充套件來呼叫asp.net執行庫,原先執行於iis6.0下的web應用程式遷移到iis7.0中只要將應用程式配置成經典模式,**基本不用修改就可以正常執行。整合模式是一種統一的哀求處理管道,它將asp.net請求管道與iis核心管道組合在一起,這種模式能夠提供更好的效能,能夠實現配置和治理的模組化,而且增加了使用託管**模組擴充套件iis時的靈活性。假如老的web應用程式執行於iis7.0的整合模式下,可能需要對應用程式的web.config檔案進行修改,尤其是使用了實現ihttphandler介面的自定義模組的情況。iis7.0在同乙個伺服器上能夠同時支援兩種模式的應用程式。

iis6.0中asp.net mmc管理單元用於配置asp.net,7.0中asp.net應用程式的管理域iis管理更加緊密的整合在一起,不存在單獨的管理單元,所有的iis和asp.net配置都是使用iis管理器完成的。iis7.0配置資訊基於.net framework配置系統,所以iis7.0中執行的應用程式的web.config檔案同時包含web伺服器和asp.net配置設定,例如可以再web.config檔案中設定副檔名和檔案的對映(iis6.0中必須在iis中進行配置)。

web.config檔案的變化

system.webserver節指定了應用於web應用程式的iis7.0設定,其父節點是configuration,該節點中可以設定的內容包括:

當請求未包含指定資源時,web伺服器返回給客戶端的預設文件(defaultdocument); 響應的壓縮設定(httpcompression) 自定義頭部(httpprotocol節的customheaders) 模組(modules) 處理程式(handlers)

其中的一些設定僅適用於整合模式,而不適用於經典模式,如經典模式下執行的應用程式則忽略web.config的system.webserver節中指定的所有託管**模組和處理程式,這種模式下web應用程式應該在syste.web節的httpmodules和httphandlers中定義模組和處理程式。

將 web 應用程式遷移到整合模式

不包含自定義模組或處理程式的 web 應用程式通常無需更改即可在 iis 7.0 整合模式下正常工作。對於依靠於自定義模組或處理程式的 web 應用程式,需要執行以下步驟來使其能夠在整合模式下執行:

使用本主題稍後的將 web config 檔案遷移到整合模式部分中描述的方法之一,在 web.config 檔案的 system.webserver 節中註冊自定義模組和處理程式。

實現 ihttpmodule 介面的模組被稱為託管**模組,因為它們是使用 .net framework 生成的。可以在伺服器級別或應用程式級別註冊託管**模組。本機**模組是僅在伺服器級別註冊的 dll(非託管**)。在整合模式下,將以託管模組的形式實現核心 asp.net 功能,例如會話狀態和 forms 身份驗證。

在將應用程式從經典模式遷移到整合模式時,可以保留經典模式下的自定義模組和處理程式註冊,也可以將這些註冊移除。如果不移除經典模式下使用的 httpmodules 和 httphandlers 註冊,則必須將 validation 元素的 validateintegratedmodeconfiguration 屬性設定為 false 以避免錯誤。validation 元素是 system.webserver 元素的子元素。有關更多資訊,請參見 asp.net integration with iis 7.0(將 asp.net 與 iis 7.0 整合)中的「disabling the migration message」(禁用遷移訊息)部分。

遷移 web.config 檔案以便在整合模式下使用

直接編輯 web.config 檔案,並且將 modules 或 handlers 元素新增到 system.webserver 元素中。請注重,與經典模式相比,元素名稱是不同的:modules 和 handlers 分別對應於經典模式下的 httpmodules 和 httphandlers。

用來使用整合模式的類和屬性

在 iis 7.0 整合模式以及 .net framework 3.0 版或更高版本中使用應用程式時,可以使用下面這些在經典模式下不可用的類和成員:

httpresponse 物件的 substatuscode 屬性,使用它可以設定在配置了失敗請求跟蹤的情況下有用的**。有關更多資訊,請參見 troubleshooting failed requests using failed request tracing in iis 7.0(使用 iis 7.0 中的跟蹤功能解決請求失敗的問題)。

httpresponse 物件的 headers 屬性,使用它可以訪問響應頭。

httprequest 物件的 headers 和 servervariables 屬性,它們支援寫功能。

IIS7的整合模式和經典模式

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

IIS7的整合模式和經典模式

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

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

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