Windows 7 Home PremiumノートブックのIISに最初のWebアプリケーションを展開しようとしました。アプリケーションを作成した後、クラシックアプリプールに変更し、そのプールをフレームワーク4.0に設定する必要がありました。今、私は次のエラーを受け取ります:
HTTPエラー404.17-見つかりません要求されたコンテンツはスクリプトのようであり、静的ファイルハンドラーによって提供されません。
要求されたURLはhttp:// localhost:80/pvmms/default.aspx
大規模なグーグルは、私が一緒に仕事をするのに十分な明確または明確なものを何ももたらしていないことを恐れており、いつものように私は専門家に頼った。
EDIT:これは、.aspxファイル用のフレームワーク4.0ハンドラーマッピングがないためと思われます。しかし、aspnet_regiisは私の管理ユーザーに指を与え、それを実行するには管理者権限が必要だと言います。
EDIT#2:すべてのフレームワーク(2および4、32および64)を登録し、すべてが動作するようになりました。 .aspx
のスクリプトマップをaspnet_isapiとvoilaに手動で追加することでこれを見つけました。フレームワークのインストールでこれができない理由がわかりません。私のメモリに障害が発生し、VSのインストール後にIISのみを有効にした場合を除きます。
遅すぎるかもしれませんが、頻繁に実行する必要があります
aspnet_regiis.exe -i
asp.netをインストールした後。とにかく今私はそれをするだろう。
上記に加えて、WCFサポートが必要な場合、これを実行する必要があります。
c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i
V3.0を現在のフレームワークバージョンに置き換えます。
作成したWCFサービスにアクセスしようとしたときに、IIS 8.5からこのエラーが発生しました。サーバーのWCF HTTPアクティベーション機能が有効になっていないことが判明しました。ボックスをチェックし、ウィザード(iisreset)をクリックして作業を開始しました。
Iis 7.5を使用している場合。
IIS Managerに移動して、Webサイトのプロパティを開きます。
そこに「ハンドラーマッピング」セクションが表示されます。そのセクションに移動して、「staticFile」を検索します。
おそらく、リストの最後のファイルです。
次に、それを右クリックして、「親に戻す」を選択します。
私がこの最初に直面した間、私はとても多くの時間を浪費しました、とにかくこれはあなたの問題を解決します。
Aspnet_regiis.exeを使用できないASP .NET 4.5のWindows Server 2012でこの問題が発生し、役割と機能の追加ウィザードでASP .NET 4.5をインストールするだけで済みます:
サーバーマネージャーの右隅にある[管理]メニューに[役割と機能の追加]メニュー項目があります。
私はこれが古い質問であることを知っていますが、再構築されたWindows 8マシン上の3.5アプリケーションでこれを持っていて、aspnet_regiis -iru
の後でもまだこれを取得していましたが、アプリケーション開発内でASP.NET 3.5がチェックされていないことが判明しました機能(画像を投稿するには評判が足りません)。
WCF Services
を有効にしてこの問題を解決しました
Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node
しかし、あなたはこのIISを設定/推測/試行し、アプローチ/解決策を見つけるために4日間または5日間を費やしているISを設定/推測/試行することを認めなければなりません。 _完全かつ完全なジョーク。
確かに、 'IIS' ISこれまでにマンキンドでプレイされた中で最大の自信のトリック
このオプションをチェックする必要があります
デフォルトでアプリケーション用に作成されたアプリケーションプールがバージョン2である可能性があります。したがって、リストに.svc拡張子のハンドラーが表示されても機能せず、静的ファイルとして処理されます。必要なのは、アプリケーションプールプロパティを開き、バージョン4に切り替えることだけです。
Asp.netを再度登録してください。問題を解決します。
Visual Studioコマンドプロンプトに移動し、
asp.netをwindows\Microsoft.net\Framework [.Net version num]\aspnet_regiis.exe -iとして登録します
設定しているWindows 8マシンでも同じ問題が発生しました。 vs2010の前にvs2012をインストールしました。vs2010は.NET framework 4.5をインストールします。 4.0で実行しているアプリプールがあります。 aspnet_regiis -iを使用して、aspnetが4.0に登録されていることを確認しました。それはまだトリックをしませんでした。次に、Windowsの機能を開き、4.5が ".NET Framework 4.5 Advanced Services"というセットを追加したことに気付きました。 WCFサービスノードとその子を有効にすると、svcエンドポイントが正しく動作しました。これがWindows 8に移行する人々に役立つことを願っています。
私が同じ問題に出くわしたとき、私はこの質問につまずいた。私の問題の根本的な原因は、誤って構成されたアプリプールでした。 4.0に設定する必要があるときに、誤って2.0に設定されていました。次のリンクの回答は、この問題の発見に役立ちました: http://forums.iis.net/t/1160143.aspx
これを読んでいる他の人々のために:
これは、登録した.Netバージョンが、Webサイトに接続されているアプリケーションプールの「基本設定」で選択されたバージョンではない場合に発生する可能性があります。たとえば、サイトのアプリケーションプールでは.Net v2.0が選択されていますが、v4.0を登録しています
同じ問題がありました。 IISに静的コンテンツ機能を追加すると、正常に機能します。
ちょうど別の可能な解決策は、同じエラーメッセージがあることを発見しました。
.NET 4.0 Webアプリケーションを新しいアプリケーションプールにセットアップしようとすると、静的ファイルハンドラーでaspxファイルを処理しようとしていたという意味のこの奇妙なエラーを受け取りましたが、これは意味がありませんでした。
何らかの理由で、.NET 4.0のISAPIは、IISマネージャーのサーバーレベルのISAPIおよびCGI制限エリアで無効に設定されました。 有効に設定することだけが必要でした、しかしIIS 7.5マネージャーはとても複雑で、従うのが難しいので、これを理解するのに長い時間がかかりました。
4.0エンジンで処理できない4.0アプリケーションであるため、静的ファイルハンドラーがデフォルトで使用されていたと推測しています。
Windows 10/Framework 4.7では、次の方法でHTTPアクティベーションを有効にする必要がありました。
cmd->右クリック->管理者として実行
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
IISマネージャーを使用すると、ASP.NET 4.5が以前にインストールされていた場合でも、.aspxファイルが(「ハンドラーマッピング」の下で)ISAPI 2.0にマップされていることがわかりました。 ISAPI 4.0 64ビットの実行可能ファイルを(また)指すように編集すると、問題が修正されました。
実行可能ファイルは%windir%\ Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dllに見つかりました
私は同じ問題を抱えていました。ウェブサイトのターゲットフレームワークのバージョンを、IISで開発されたバージョンに変更しました。これで私の問題が解決しました。お役に立てれば...
ありがとうございました
iis 7.5のアプリケーションで、.net 2.0に割り当てられたクラシックアプリプールでこのメッセージを受け取りました。ハンドラーマッピングに移動して、2つのスクリプトマップを追加する必要がありました。両方とも名前以外は同じでした。 1つの名前はsvc-ISAPI-2.0-64で、もう1つの名前はsvc-ISAPI-2.0でした。要求パスは.svcでした。また、実行可能ファイルは%SystemRoot%\ Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dllでした。私はIISを再起動し、すべてが幸せでした
私の場合、[アプリケーションプール]-> [高度な設定]-> [32ビットアプリケーションを有効にする]で複数の理由が考えられます(trueである必要があります)。以前はfalseに設定されていました。
解決したばかりの最悪のシナリオの1つは、Web.configでエントリが競合していることです。
ローカルマシンでは、IISに.woff拡張子が登録されていなかったため、Web.configを使用して追加しました。しかし、実動サーバーでは.woffにMIMEタイプが登録されていました。これにより、アプリケーションレベルの競合が発生しました。
おもしろいのは、このエラーが記録されていないことです。単なる推測作業(もちろん初めて)。
だから私にとっての解決策は、web.configから要素を削除するだけでした。