檢測到在整合的託管管道模式下不適用的asp.net設定的解決方法(非簡單設定為【經典】模式)。
我們將asp.net程式從iis6移植到iis7,可能執行提示以下錯誤:
http 錯誤 500.23 - internal server error檢測到在整合的託管管道模式下不適用的 asp.net 設定。為什麼會出現以上錯誤?在iis7的應用程式池有兩種模式,一種是「整合模式」,一種是「經典模式」。
經典模式 則是我們以前習慣的iis 6 的方式。
如果使用整合模式,那麼對自定義的httpmodules 和 httphandlers 就要修改配置檔案,需要將他們轉移到和節裡去。
兩種解決方法:
在iis7上配置應用程式池,並且將程式池的模式改為「經典」,之後一切正常。如圖:
在搜尋引擎輸入上面提示的錯誤訊息,搜尋到的結果幾乎都是直接改為「經典」便淺嘗輒止了。
但這樣只是權宜之計,用了iis7.x,但實際只發揮了6的功能,另外,在一些asp.net mvc程式中的效果也不好,所以,我們嘗試以下解決方法:
例如原先設定(你的環境中可能沒有httpmodules,httphandlers節點)
............
在iis7應用程式池為「整合模式」時,改為:
...........
(如果你的web.config沒有httpmodules,httphandlers節點,則直接在節點system.webserver中新增:
這樣可以禁止驗證整合模式,避免錯誤提示。在經典模式下,iis會用isapi擴充套件(isapi extension aspnet_isapi.dll)和 isapi過濾器(isapi filter aspnet_filter.dll)來呼叫asp.net執行庫來處理請求。如果使用經典模式的話,伺服器會用兩種管道來處理請求乙個負責源**,另外乙個負責託管**。在這種模式下,應用程式不能充分使用iis7.x提供的服務。
整合模式是一種統一的請求處理管道,它將asp.net請求管道與iis核心管道組合在一起。在整合模式下,asp.net從iis外掛程式(iis extension)的角色進入了iis的核心去監測每個請求和操作。在整合模式下,asp.net能更有效的在iis下執行,並且可以有效的提高**的效能。 有些在iis6開發的**需要執行於經典模式,因為在整合模式下會出現錯誤資訊。
要想更有效的使用iis7提供的服務, 建議將**放在整合模式下,然後根據錯誤資訊的提示解決那個問題。
IIS經典模式和整合模式的區別
在 iis 7.0 中,應用程式池有兩種執行模式 整合模式和經典模式。應用程式池模式會影響伺服器處理託管 請求的方式。如果託管應用程式在採用整合模式的應用程式池中執行,伺服器將使用 iis 和 asp.net 的整合請求處理管道來處理請求。如果託管應用程式在採用經典模式的應用程式池中執行,伺服器會繼...
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中只要將應用程式配置成經典模式,基本不用修改就可以正常...