最近、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
SVC拡張機能のマッピングをASP.NETに追加する必要があります。これを行う最も簡単な方法は、ServiceModelReg.exe -i
C:\ Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundationから。 ASP.NETをまだ有効にしていない場合は、有効にする必要があります。
Windows Server 2012または2016を使用している場合は、代わりに次の手順に従ってください。
ブログ投稿のこれらの指示 が見つかりました。これはこのステップを示しており、私にとってはうまくいきました(Windows 8、64ビット):
Windows機能では、.Netフレームワークの下に両方のWCFオプションがチェックされていることを確認してください。 [コントロールパネル]、[プログラムと機能]、[Windowsの機能のオン/オフを切り替える]、[機能]、[機能の追加]、[。NET Framework X.X機能]の順に移動します。 .Net frameworkがインストールされていることを確認し、その下のWCF Activationノードが選択されていること(チェックボックスにチェックマークが付いていること)およびWCF Activationの両方のオプションもチェックされていることを確認します。* HTTPアクティベーション *非HTTPアクティベーション 両方のオプションを選択する必要があります(チェックボックスをオンにします)。
あなたはすでにあなたの問題を解決しているようです-しかし後世のために:
同様の問題があり、SVCハンドラーは既に正しくインストールされています。問題は、ExtensionlessUrlハンドラーがSVCハンドラーに到達する前に要求を処理することでした。
これを確認するには、IIS Webサーバーレベルのマネージャーのハンドラーマッピング)で、ハンドラーのリストを順番に表示します(右側のオプションです)。さまざまなExtensionlessUrlハンドラーが表示される場合SVCハンドラーの上に移動してから、一番下になるまで繰り返し下に移動します。
ディレクトリがIISであるアプリケーションに変換されたことを確認します。
今日も同じ問題がありました。
私にとっての解決策は、IISに移動し、新しいWebサイト名を右クリックして、[プロパティ]、[ASP.Net]を選択し、ASP.Netバージョンを "1.1.4322"(デフォルトとして設定していた)から変更することでした2.0.50727へ。
それが完了したら、.svcファイルを右クリックし、[参照]をクリックして、フレンドリーなサービスWebページを表示できます。
これは、IIS 6 Windows 10での管理互換性を有効にした後も問題になる可能性があります。WCFサービスでフレームワークHTTPアクティベーションを設定すると、問題が修正されます。
私の場合、Win 10では、applicationHost.configファイルがVS 2012によって破損しています。このファイルの履歴は、C:\ inetpub\historyの下にコピーできます。その後、IISを再起動すると、正常に動作します。
サーバー2012のロール/機能の追加の機能の下に2つの.netフレームワークバージョンがあります。
a。 3.5
b。 4.5
使用するフレームワークに応じて、WCFサービスで HTTP-Activation を有効にできます。 :)
私の場合、エラーはファイルapplicationhost.config(\ System32\inetsrv\config)のマッピング設定が正しくないことが原因でした。何らかの理由で、Visual Studio 2013はIISで仮想ディレクトリを作成中に破損しました。修正は、ファイルのサイトセクションを手動で編集することでした。