將ASP.NET程序從IIS6移植到IIS7(或在VS2017等版本ide環境運行),可能運行提示以下錯誤:
HTTP 錯誤 500.23 - Internal Server Error
檢測到在集成的託管管道模式下不適用的 ASP.NET 設置。
在IIS7的應用程序池有兩種模式,一種是“集成模式”,一種是“經典模式”。
經典模式則是我們以前習慣的IIS 6 的方式。
如果使用集成模式,那麼對自定義的httpModules 和 httpHandlers 就要修改配置文件,需要將他們轉移到<modules>和<hanlders>節裏去。
兩種解決方案:
1、IIS中部署:配置應用程序池。
在IIS7上配置應用程序池,並且將程序池的模式改爲“經典”,之後一切正常。
2、修改web.config配置文件
<system.web>
<!--web節點其他配置(略)-->
</system.web>
<system.webServer>
<!--webServer節點其他配置(略)-->
<!--設置禁止驗證集成模式(validateIntegrateModeConfiguration="false")-->
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
即在system.webServer中添加<validation validateIntegratedModeConfiguration="false" />節點,如上代碼片段說明。