.NET framework 4.0
ウェブサイトのIIS7.0
の実行で問題が発生しました。私が得たエラーは次のようなものです:
HTTPエラー404.2-「WebサーバーのISAPI
およびCGI
制限リスト設定のため、要求しているページを提供できません」。
Module : IsapiModule ,
Notification : ExecuteRequestHandler,
Handler : PageHandlerFactory-ISAPI-4.0_32bit ,
Error Code : 0x800704ec
IIS managerに移動し、サーバー名をクリックします。次に、IISヘッダーの下にある[ISAPIおよびCGIの制限]アイコンをクリックします。 ASP.NET 4.0を「許可しない」から「許可する」に変更します。
ISAPIおよびCGIの制限を見て、すべてがAllowedに既に設定されている場合、ASP.NET v4.0.30319ハンドラーもリストに含まれています。私の場合、そうではありませんでした。これは見落としがちです。
32 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
に1つ、64ビット%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
に1つ追加しました。両方に同じASP.NET v4.0.30319
という名前を付けることができます。
拡張パスの実行を許可するを確認します。
私の場合、問題はもっと深刻でした。asp.netが正しく登録されていなかったことがわかりました。
コマンドプロンプトで次のコマンドを実行しただけです
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
32ビットシステムを使用していた場合、次のようになりました。
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
(PC-Name)\
などのサーバー名を開きます。ステップ1:IISを開き、サーバー名をクリックしますステップ2. [ISAPIおよびCGIの制限]をダブルクリックしますステップ3. ASP.NET v4.0.30319を右クリックし、[許可]を選択します
World Wide Web発行サービスを停止および開始した後
1. [スタート]> [すべてのプログラム]> [管理ツール]> [サービス]に移動します。 2.サービスリストで、World Wide Web Publishing Serviceを右クリックし、[停止](サービスを停止する)、[開始](停止後にサービスを開始する)、または[再起動](実行中のサービスを再起動する)をクリックします)。
プラメシュ
Delphiまたはその他のネイティブコンパイルされたCGIを実行している場合、このソリューションは機能します。
他のポイントとして、IIS managerに移動し、サーバー名をクリックします。次に、IISヘッダーの下にある[ISAPIおよびCGIの制限]アイコンをクリックします。
すべて許可されている場合は、まだ機能しません。アクション(右側)の[機能設定の編集]をクリックし、[指定されていないCGIモジュールを許可する]または[指定されていないISAPIモジュールを許可する]をそれぞれチェックする必要があります。
OKをクリック
私たちの場合、この問題の解決には「ISAPIおよびCGIの制限」設定は含まれていませんでした。エラーは、運用スタッフが偶然にサーバーを.NET 4.5にアップグレードした後、再び.NET 4.0にダウングレードした後に発生し始めました。これにより、一部のIIS Webサイトがそれぞれの適切なアプリケーションプールを忘れ、一部のアプリケーションプールが.NET Framework 4.0から2.0に切り替わりました。これらの設定を変更すると、問題が修正されました。
アプリプール管理パイプラインモードを「統合」から「クラシック」に変更してみてください。
アプリケーションのタイプに応じて、アプリケーションプールの詳細設定で確認するもう1つのことは、「32ビットアプリケーションを有効にする」がTrueに設定されていることを確認することです。
この問題が発生したときにこのスレッドのすべてをチェックしましたが、すべてが既に正しくセットアップされていたので、これが私にとって問題であることがわかりました。