IIS 7.0で.NET Framework 4.0 Webサイトを実行する際の問題


119

.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

回答:


289

IISマネージャーに移動し、サーバー名をクリックします。次に、IISヘッダーの下にある「ISAPIおよびCGIの制限」アイコンをクリックします。ASP.NET 4.0を「許可しない」から「許可する」に変更します。


44
重要:オプションを見つけるには、サイト名ではなくサーバー名をクリックしてください
MacGyver

1
実際には、CGIオプションすらありません。Windows 7、64ビットを使用しています。ssrsを動作させようとしています。
Steam

私の時間を節約してくれた男:)ありがとう:)
アントン・バクシェイエフ2014

2
IISを管理者として起動していることを確認してください:)
Naveed Ahmad

少なくとも今日、あなたは私の好きな人です。これにより、私が数時間追跡してきた問題が修正されました。すばらしい答えです。
asantaballa 14年

8

ISAPIとCGIの制限を調べ、すべてが既にAllowedに設定されている場合は、ASP.NET v4.0.30319ハンドラーがリストにあることを確認してください。私の場合はそうではありませんでした。これは見落としがちです。


32 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dllビット用と64ビット用の2 つを追加しました%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll。両方に同じ名前を付けることができASP.NET v4.0.30319ます。

[拡張パスの実行を許可する]をオンにします。


6
  1. IISマネージャーに移動します。
  2. のようなサーバー名を開きます(PC-Name)\
  3. 次に、ISAPIおよびCGI制限をダブルクリックします。
  4. 次に、[ASP.NET v4.0.30319(32-bit)制限を許可する]を選択します。

6

私の場合、問題はより深刻でした。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

3

ステップ1:IISを開き、サーバー名をクリックします。ステップ2.「ISAPIおよびCGIの制限」をダブルクリックします。ステップ3. ASP.NET v4.0.30319を右クリックし、「許可」を選択します。

World Wide Web Publishing Serviceを停止して開始した後

1. [スタート]> [すべてのプログラム]> [管理ツール]> [サービス]に移動します。2.サービスの一覧で、[World Wide Web Publishing Service]を右クリックし、[停止](サービスを停止する)、[開始](停止後に開始する)、または[再起動](実行中にサービスを再開する)をクリックします。 )。

プラメッシュ


2

Delphiまたは他のネイティブコンパイル済みCGIを実行している場合、このソリューションは機能します。

  1. 他の指摘に従って、IISマネージャーに移動し、サーバー名をクリックします。次に、IISヘッダーの下にある「ISAPIおよびCGIの制限」アイコンをクリックします。

  2. すべてが許可されている場合でも、機能しません。アクション(右側)の[機能設定の編集]をクリックし、[指定されていないCGIモジュールを許可する]または[指定されていないISAPIモジュールを許可する]をそれぞれオンにする必要があります。

  3. OKをクリックします


数日間頭を打っていて、会社のシングルサインオンプラグインをクラシックモードで動作させるには、この「機能設定の編集」を行わなければなりませんでした
Jay Sullivan

1

私たちの場合、この問題の解決策には「ISAPIとCGIの制限」設定が含まれていませんでした。このエラーは、運用スタッフがサーバーを.NET 4.5に誤ってアップグレードし、その後.NET 4.0に再度ダウングレードした後に発生し始めました。これにより、一部のIIS Webサイトはそれぞれの正しいアプリケーションプールを忘れ、一部のアプリケーションプールは.NET Framework 4.0から2.0に切り替わりました。これらの設定を元に戻すと問題が修正されました。


1

ISAPIとCGIの制限を確認し、すべてが既に[許可]に設定されていて、ASP.NETがv4.0.30319にインストールされている場合は、右側の[ アクション ]パネルで[ 機能設定の編集... ]をクリックします」と両方のチェックボックスをオンにします。私の場合、そうではありませんでした。


0

AppPool Manged Pipeline Modeを「Integration」から「Classic」に変更してみてください。


0

アプリケーションの種類によっては、アプリケーションプールの[詳細設定]で[32ビットアプリケーションを有効にする]がTrueに設定されていることを確認する必要があります。

私はこの問題が発生したときにこのスレッドですべてをチェックしましたが、すべてがすでに正しくセットアップされていたので、これが私にとっての問題であることがわかりました。



-1

アプリケーションのマッピング後、次の手順に従います

IISを開きますアプリケーションプールをクリックしますWebサイトをダブルクリックしますパイプラインモードの管理を「クラシック」に変更しますOK

.Net Frameworkのバージョンを以前のバージョンに変更してください

次に[OK]をクリックします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.