web-dev-qa-db-ja.com

IISで.svcファイルにアクセスするときのHTTP 404

最近、Visual Studio 2008からテストしたときに正常に動作するWCFサービスを作成しました。ただし、プロジェクトをIISにデプロイし、IISから.svcファイルにアクセスしようとすると、次のエラーが表示されます。

"Server Error in '/' Application.The resource cannot be found.  "

私は過去4日間この問題を抱えています。

IIS Managerのハンドラーマッピングでは、.svcの2つのエントリを確認できます。

svc-Integrated and svc-ISAPI-2.0
72
Attilah

SVC拡張機能のマッピングをASP.NETに追加する必要があります。これを行う最も簡単な方法は、ServiceModelReg.exe -i C:\ Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundationから。 ASP.NETをまだ有効にしていない場合は、有効にする必要があります。


Windows Server 2012または2016を使用している場合は、代わりに次の手順に従ってください。

67
tvanfosson

私にとってうまくいったのは、Windows 2012 Server R2:

WCF HTTP 404

「アーロンD」に感謝します

84
Stefan Michev

ブログ投稿のこれらの指示 が見つかりました。これはこのステップを示しており、私にとってはうまくいきました(Windows 8、64ビット):

Windows機能では、.Netフレームワークの下に両方のWCFオプションがチェックされていることを確認してください。 [コントロールパネル]、[プログラムと機能]、[Windowsの機能のオン/オフを切り替える]、[機能]、[機能の追加]、[。NET Framework X.X機能]の順に移動します。 .Net frameworkがインストールされていることを確認し、その下のWCF Activationノードが選択されていること(チェックボックスにチェックマークが付いていること)およびWCF Activationの両方のオプションもチェックされていることを確認します。
 * HTTPアクティベーション
 *非HTTPアクティベーション
両方のオプションを選択する必要があります(チェックボックスをオンにします)。
51
Aaron D

あなたはすでにあなたの問題を解決しているようです-しかし後世のために:

同様の問題があり、SVCハンドラーは既に正しくインストールされています。問題は、ExtensionlessUrlハンドラーがSVCハンドラーに到達する前に要求を処理することでした。

これを確認するには、IIS Webサーバーレベルのマネージャーのハンドラーマッピング)で、ハンドラーのリストを順番に表示します(右側のオプションです)。さまざまなExtensionlessUrlハンドラーが表示される場合SVCハンドラーの上に移動してから、一番下になるまで繰り返し下に移動します。

4
Inigo Surguy

ディレクトリがIISであるアプリケーションに変換されたことを確認します。

1
esylvestre

今日も同じ問題がありました。

私にとっての解決策は、IISに移動し、新しいWebサイト名を右クリックして、[プロパティ]、[ASP.Net]を選択し、ASP.Netバージョンを "1.1.4322"(デフォルトとして設定していた)から変更することでした2.0.50727へ。

それが完了したら、.svcファイルを右クリックし、[参照]をクリックして、フレンドリーなサービスWebページを表示できます。

1
Mike Gledhill

これは、IIS 6 Windows 10での管理互換性を有効にした後も問題になる可能性があります。WCFサービスでフレームワークHTTPアクティベーションを設定すると、問題が修正されます。

1
Al Nolan

私の場合、Win 10では、applicationHost.configファイルがVS 2012によって破損しています。このファイルの履歴は、C:\ inetpub\historyの下にコピーできます。その後、IISを再起動すると、正常に動作します。

0
phuongdnguyen

サーバー2012のロール/機能の追加の機能の下に2つの.netフレームワークバージョンがあります。

a。 3.5

b。 4.5

使用するフレームワークに応じて、WCFサービスで HTTP-Activation を有効にできます。 :)

0
Raj kumar

私の場合、エラーはファイルapplicationhost.config(\ System32\inetsrv\config)のマッピング設定が正しくないことが原因でした。何らかの理由で、Visual Studio 2013はIISで仮想ディレクトリを作成中に破損しました。修正は、ファイルのサイトセクションを手動で編集することでした。

0
user405723

要求フィルタリング設定で許可された拡張子に拡張子.svcを追加する必要がありました(以前に404.7エラーがありました)。

enter image description here

0
martinoss