ASP.NET プログラムを IIS6 から IIS7 に移植するとき (または VS2017 などの IDE 環境で実行するとき)、実行時に次のエラーが表示される場合があります。
HTTP エラー 500.23 - 内部サーバー エラー
統合マネージド パイプライン モードに適用されない ASP.NET 設定が検出されました。
IIS7 のアプリケーション プールには、「統合モード」と「クラシック モード」の 2 つのモードがあります。
クラシック モードは、私たちが慣れ親しんだ IIS 6 の方法です。
統合モードを使用する場合は、カスタム httpModules および httpHandlers の構成ファイルを変更し、それらを <modules> および <hanlders> セクションに転送する必要があります。
2 つの解決策:
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" /> ノードを追加します。