在IIS 7.5下調(diào)試ASP.NET程序,出現(xiàn)了一個(gè)奇怪的錯(cuò)誤“HTTP 錯(cuò)誤 500.22 - Internal Server Error 檢測(cè)到在集成的托管管道模式下不適用的 ASP.NET 設(shè)置。”
下面看我的操作步驟:
1、打開(kāi)IIS,找到“應(yīng)用程序池”
2、雙擊“DefaultAppPool”,在“托管管道模式”選擇“經(jīng)典”,點(diǎn)擊“確定”按鈕。
再次在瀏覽器中運(yùn)行程序,這回就正常了!
其實(shí)在錯(cuò)誤信息的可嘗試的操作部分已經(jīng)說(shuō)的很明確了,問(wèn)題就是集成模式下的問(wèn)題,只要改成經(jīng)典模式就行了。看如下提示:
1、將配置遷移到 system.webServer/modules 節(jié)。也可以手動(dòng)這樣做,或通過(guò)在命令行中使用 AppCmd 來(lái)這樣做 - 例如,%SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。使用 AppCmd 遷移應(yīng)用程序?qū)⑹顾軌蛟诩赡J较鹿ぷ,并能繼續(xù)在經(jīng)典模式下和以前版本的 IIS 上工作。
2、如果您確信可以忽略此錯(cuò)誤,則可以通過(guò)將 system.webServer/validation@validateIntegratedModeConfiguration 設(shè)置為 false 來(lái)禁用它。
3、也可以將應(yīng)用程序切換到經(jīng)典模式應(yīng)用程序池 - 例如,%SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。只有在無(wú)法遷移應(yīng)用程序時(shí)才這樣做。
(將“Default Web Site”和“Classic .NET AppPool”設(shè)置為您的應(yīng)用程序路徑及應(yīng)用程序池名稱)