Win Server 2k8 の IIS 7 で新しい .net 2.0 Web サイトをセットアップしました。ページを参照すると、404.17 エラーが表示され、ファイル (この場合は default.aspx) がスクリプトのように見えますが、静的ファイル ハンドラーによって処理されます。ASP.Net のモジュール マッピングが台無しになったように聞こえますが、構成では問題ないように見えます。このエラーを修正するための提案はありますか?
16 に答える
どういうわけかASP.NET ISAPIが壊れたときに、IIS6でこの問題が発生しました。
ランニング
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
設定を再作成するためにそれを処理しました。
この解決策は私にとってはうまくいきました...(私は aspnet_regiis.exe -i にいくつかの損害を与えました)
http://forums.iis.net/t/1157725.aspx
1. アプリケーション プールを見つけて右クリックします。 2.基本設定を選択 3. 現在の .Net Framework バージョンを選択します 4.アプリケーションプールを再起動します
私にとっては、次のことを行うことで機能しました
ASP.NET をインストールする
cd %windir%\Microsoft.NET\Framework64/v4.0.30319
aspnet_regiis.exe -i
- 次に IIS マネージャーに移動し、サーバー (ルート) ノードをクリックします。
- 機能ビューの IIS セクションで、[ISAPI & CGI 制限] を開きます。
- ASP.NET 4 制限列を右クリックし、右クリックして許可します
それがあなたのために働くことを願っています..
最初にハンドラー マッピングで「親に戻す」を必ず試してください。
IIS 7.5 で ASP.NET 4.0 を実行しようとすると、404.17 が発生しました。上記のすべてを試したところ、最終的に正しいハンドラー マッピングが手動で設定され、エラーは解消されました。
次に、同じエラーのあるさらに別の Web サイトで、ハンドラー マッピングで「親に戻す」を試みたところ、6 つの *.aspx マッピングが追加され、すべてが完全に機能しました。
明らかに、(インストール時またはその他の方法で) 親を適切に構成する必要がありますが、これは非常に簡単であるため、間違いなく誰もが最初に行うべきステップです。
私にとって、私の問題は、プロジェクトの web.config ファイルの設定が原因で発生しました (問題を理解したら、解決策もありました)。
私の web.config ファイルでは、system.webServer > handlers領域に次の 2 行がありました。
<remove name="WebServiceHandlerFactory-ISAPI-2.0" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
代替ハンドラーには属性「preCondition="integratedMode"」があることに注意してください。そのため、パイプライン モードの設定にクラシックではなく統合を使用するように AppPool を変更する必要がありました (これは、上記のソリューションで指示されたこととは逆です)。
私にとっての解決策は、仮想アプリケーションの下のハンドラー マッピング セクションから [継承から元に戻す] をクリックすることでした。
これまでのところ、これらのソリューションはどれも私には効果がありませんでした。
私は他のいくつかの可能な解決策を見つけました(それは私にとってはうまくいきませんでした):
私にとって、これは32ビットアプリケーションをtrueに設定することで解決しました。
この問題を解決する唯一の方法は...
最初に Windows7 をインストールし、次に IIS 7 をすべての機能と共にインストールします
そして、Visual Studio 2008 / 2010をインストールしました
Visual Studio 2008 および 2010 で作業していますが、このエラーはこれまで見たことがありません。
友達のPCでも試せます。また、このエラーを解決します。
上記のどれも私にとってはうまくいきませんでした。私たちのサーバーは 64 ビットなので、32 ビット アプリケーションを許可するようにアプリケーションを設定するとうまくいきました。
- Web サーバー\アプリケーション プールに移動します。
- Web サイトで使用されているアプリケーション プールを右クリックします。
- [詳細設定...] をクリックします。
- 「32 ビット アプリケーションを有効にする」を True に設定します。
これは、Web アプリケーションが 32 ビット専用にコンパイルされたためだと思います。
%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
32フレームワークで「不正な形式のプログラムをロードしようとしました...」というメッセージが表示された後、私のために働きました
たぶん病気で、グーグルでもう1秒保存してください
ASP.NET 3.5 および 4.5、ISAPI 拡張機能、ISAPI フィルター、およびサーバー サイド インクルードを、IIS 開発機能の下の Windows 機能メニューにインストールする必要がありました。
または、コマンド ライン DISM を使用します。
Dism /online /enable-feature /featurename:NetFx3 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:NetFx4 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIExtensions /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIFilter /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ServerSideIncludes /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
私にとっては、これでうまくいきました。マシン構成セクション、ハンドラー、アセンブリ、モジュール、プロトコル、およびその他の多くのものをインストールして、適切に動作させます。
Windows 機能のオン/オフを切り替える WCF サービスでの http アクティベーションにより、問題が解決されました。