web-dev-qa-db-ja.com

IIS7.5で静的ファイルハンドラーによって処理されないスクリプト

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のみを有効にした場合を除きます。

122
ProfK

遅すぎるかもしれませんが、頻繁に実行する必要があります

aspnet_regiis.exe -i  

asp.netをインストールした後。とにかく今私はそれをするだろう。

118
Remy

上記に加えて、WCFサポートが必要な場合、これを実行する必要があります。

c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i

V3.0を現在のフレームワークバージョンに置き換えます。

63
Adi

作成したWCFサービスにアクセスしようとしたときに、IIS 8.5からこのエラーが発生しました。サーバーのWCF HTTPアクティベーション機能が有効になっていないことが判明しました。ボックスをチェックし、ウィザード(iisreset)をクリックして作業を開始しました。

Windows Features Panel

52
J T R

Iis 7.5を使用している場合。

IIS Managerに移動して、Webサイトのプロパティを開きます。

そこに「ハンドラーマッピング」セクションが表示されます。そのセクションに移動して、「staticFile」を検索します。

おそらく、リストの最後のファイルです。

次に、それを右クリックして、「親に戻す」を選択します。

私がこの最初に直面した間、私はとても多くの時間を浪費しました、とにかくこれはあなたの問題を解決します。

43
Kumar

Aspnet_regiis.exeを使用できないASP .NET 4.5のWindows Server 2012でこの問題が発生し、役割と機能の追加ウィザードでASP .NET 4.5をインストールするだけで済みます:

enter image description here

サーバーマネージャーの右隅にある[管理]メニューに[役割と機能の追加]メニュー項目があります。

23
Caio Proiete

私はこれが古い質問であることを知っていますが、再構築されたWindows 8マシン上の3.5アプリケーションでこれを持っていて、aspnet_regiis -iruの後でもまだこれを取得していましたが、アプリケーション開発内でASP.NET 3.5がチェックされていないことが判明しました機能(画像を投稿するには評判が足りません)。

14
bicbmx

WCF Servicesを有効にしてこの問題を解決しました

Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node

しかし、あなたはこのIISを設定/推測/試行し、アプローチ/解決策を見つけるために4日間または5日間を費やしているISを設定/推測/試行することを認めなければなりません。 _完全かつ完全なジョーク。

確かに、 'IIS' ISこれまでにマンキンドでプレイされた中で最大の自信のトリック

14
Richard

alt text

このオプションをチェックする必要があります

14
Jsinh

デフォルトでアプリケーション用に作成されたアプリケーションプールがバージョン2である可能性があります。したがって、リストに.svc拡張子のハンドラーが表示されても機能せず、静的ファイルとして処理されます。必要なのは、アプリケーションプールプロパティを開き、バージョン4に切り替えることだけです。

11

Asp.netを再度登録してください。問題を解決します。
enter image description here

Visual Studioコマンドプロンプトに移動し、
asp.netをwindows\Microsoft.net\Framework [.Net version num]\aspnet_regiis.exe -iとして登録します

8
Sunil

設定している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に移行する人々に役立つことを願っています。

5
IceNine

私が同じ問題に出くわしたとき、私はこの質問につまずいた。私の問題の根本的な原因は、誤って構成されたアプリプールでした。 4.0に設定する必要があるときに、誤って2.0に設定されていました。次のリンクの回答は、この問題の発見に役立ちました: http://forums.iis.net/t/1160143.aspx

3
Garrison Neely

これを読んでいる他の人々のために:

これは、登録した.Netバージョンが、Webサイトに接続されているアプリケーションプールの「基本設定」で選択されたバージョンではない場合に発生する可能性があります。たとえば、サイトのアプリケーションプールでは.Net v2.0が選択されていますが、v4.0を登録しています

2
b15

同じ問題がありました。 IISに静的コンテンツ機能を追加すると、正常に機能します。

2
jasharbn

ちょうど別の可能な解決策は、同じエラーメッセージがあることを発見しました。

.NET 4.0 Webアプリケーションを新しいアプリケーションプールにセットアップしようとすると、静的ファイルハンドラーでaspxファイルを処理しようとしていたという意味のこの奇妙なエラーを受け取りましたが、これは意味がありませんでした。

何らかの理由で、.NET 4.0のISAPIは、IISマネージャーのサーバーレベルのISAPIおよびCGI制限エリアで無効に設定されました。 有効に設定することだけが必要でした、しかしIIS 7.5マネージャーはとても複雑で、従うのが難しいので、これを理解するのに長い時間がかかりました。

4.0エンジンで処理できない4.0アプリケーションであるため、静的ファイルハンドラーがデフォルトで使用されていたと推測しています。

2
DarrenMB

Windows 10/Framework 4.7では、次の方法でHTTPアクティベーションを有効にする必要がありました。

  1. [コントロールパネル]> [プログラムと機能]> [Windowsの機能の有効化または無効化]
  2. .NET Framework 4.7 Advanced Servicesの下で、WCF Servicesを展開し、HTTPアクティベーションとWCFで作業するときに必要なものを選択します。
  3. [OK]をクリックしてインストールを実行し、管理コマンドプロンプトを開いてIISRESETコマンドを発行します。
1
Will Buffington

cmd->右クリック->管理者として実行

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

1
Safaa Elgendi

IISマネージャーを使用すると、ASP.NET 4.5が以前にインストールされていた場合でも、.aspxファイルが(「ハンドラーマッピング」の下で)ISAPI 2.0にマップされていることがわかりました。 ISAPI 4.0 64ビットの実行可能ファイルを(また)指すように編集すると、問題が修正されました。

実行可能ファイルは%windir%\ Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dllに見つかりました

0
Matthew Diggins

私は同じ問題を抱えていました。ウェブサイトのターゲットフレームワークのバージョンを、IISで開発されたバージョンに変更しました。これで私の問題が解決しました。お役に立てれば...

ありがとうございました

0
Arjun

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を再起動し、すべてが幸せでした

0
Robert

私の場合、[アプリケーションプール]-> [高度な設定]-> [32ビットアプリケーションを有効にする]で複数の理由が考えられます(trueである必要があります)。以前はfalseに設定されていました。

0
madhur

解決したばかりの最悪のシナリオの1つは、Web.configでエントリが競合していることです。

ローカルマシンでは、IISに.woff拡張子が登録されていなかったため、Web.configを使用して追加しました。しかし、実動サーバーでは.woffにMIMEタイプが登録されていました。これにより、アプリケーションレベルの競合が発生しました。

おもしろいのは、このエラーが記録されていないことです。単なる推測作業(もちろん初めて)。

だから私にとっての解決策は、web.configから要素を削除するだけでした。

0
Ashish