在IIS 7.5下调试ASP.NET程序,出现了一个奇怪的错误“HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。”
下面看我的操作步骤:
1、打开IIS,找到“应用程序池”
2、双击“DefaultAppPool”,在“托管管道模式”选择“经典”,点击“确定”按钮。
再次在浏览器中运行程序,这回就正常了!
其实在错误信息的可尝试的操作部分已经说的很明确了,问题就是集成模式下的问题,只要改成经典模式就行了。看如下提示:
1、将配置迁移到 system.webServer/modules 节。也可以手动这样做,或通过在命令行中使用 AppCmd 来这样做 - 例如,%SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。使用 AppCmd 迁移应用程序将使它能够在集成模式下工作,并能继续在经典模式下和以前版本的 IIS 上工作。
2、如果您确信可以忽略此错误,则可以通过将 system.webServer/validation@validateIntegratedModeConfiguration 设置为 false 来禁用它。
3、也可以将应用程序切换到经典模式应用程序池 - 例如,%SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。只有在无法迁移应用程序时才这样做。
(将“Default Web Site”和“Classic .NET AppPool”设置为您的应用程序路径及应用程序池名称)