web-dev-qa-db-ja.com

IIS 8上のWCF。 * .svcハンドラマッピングが機能しない

私は2012ビルド8400でIIS 8でwcfサービスを実行しようとしています。

Webロールをインストールするとき、wcfのもの(3.51以下)は2008年のようには見つかりませんでした。

インストール時にsvcハンドラマッピングが見つからなかったので、次のようにしました。

%windir%\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation\ServiceModelReg.exe –i

これでハンドラマッピングはできましたが、それでも私は次のようになります。

The resource you are looking for does not have a handler associated with it.

(静的ファイルハンドラを削除しました。)

このサイトは偽装を使用するために古典的なパイプラインを使用しています。

257
Carl R

すなわち:

  1. Server Managerを実行します(タスクバーとスタートメニュー)。
  2. 管理するサーバーを選択します(おそらくローカルサーバー)
  3. "Roles and Features"セクションまでスクロールします。
  4. タスクドロップダウンから "Add Role or Feature"を選択してください
  5. [Add Role or Feature Wizard]ダイアログで、左側のページのリストで[Features]までクリックします。
  6. インストールしたものに応じて、".Net 3.5"または".Net 4.5"を展開します。 (持っていなければ追加するために "roles"画面に戻ることができます。
  7. [WCF Services]の下の[HTTP-Activation]のチェックボックスをオンにします。あなたがそれらを必要とすることを知っていれば、あなたは非HTTPタイプを追加することもできます(TCP、名前付きパイプなど)。
  8. "Install"ボタンをクリックしてください。
527
Brian Jimdar

HTTP Activation> .NET Framework 4.5 Advanced ServicesWCF Servicesを有効にする必要がありました

Enable HTTP Activation

208
joshcomley

「Windowsの機能の有効化または無効化」で以下をオンにします。

a).Net Framework 3.5 - WCF HTTPアクティベーションと非HTTPアクティベーション

b)すべてWCFサービスの下

43
Dino

Windows 8とIIS 8

  • Windows+Xを打つ
  • Programs and Features(リストの最初の項目)を選択
  • 左側のTurn Windows Features on or offを選択してください
  • .NET Framework 4.5 Advanced Servicesを展開
  • WCF Servicesを展開
  • HTTP Activationを有効にする
37
Simon_Weaver

私は最近スクリプトを介してこれをすることを好む

REM install the needed Windows IIS features for WCF
dism /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService
dism /Online /Enable-Feature /FeatureName:WAS-ProcessModel
dism /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment
dism /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

REM Feature Install Complete
pause
28
Jon

私たちはWindows Server 2012の下でエラーを解決することができた:

  1. 「役割と機能の削除ウィザード」からの削除.NET Framework 4.5の機能/ ASP.NET 4.5およびそのすべての従属機能
  2. 削除された機能を再インストールします。

それはインストールの順序を縫い合わせることが原因です。

また、WCFサービスの下にHTTPアクティベーションがインストールされていることを確認してください。

10
Radu Damian

Windows 8マシンには「サーバーマネージャー」アプリケーションはありません(少なくとも私はそれを見つけることができませんでした)。

私は問題を解決することができましたが。次の操作をどの順序で行ったのかわかりませんが、次の操作の1つまたはいくつかが役立つように見えます。

  1. A).Net Framework 3.5 - WCF HTTPアクティベーションおよび非HTTPアクティベーションb)すべてWCFサービス(この質問に対する回答の1つに指定されています)の下で、以下をオンにします。

  2. "%windir%\ Microsoft.NET\Framework\v3.0\Windows Communication Foundation \"フォルダ内の "ServiceModelReg.exe –i"を実行しました

  3. 2つのコマンド(フォルダC:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727)でASP.NET 2.0を登録しました。

    aspnet_regiis -ga "NT AUTHORITY\NETWORK SERVICE" aspnet_regiis -iru

  4. PCを再起動しています...その結果、アクション## 3および4の結果としてASP.NETの構成に問題が発生しました

  5. アクション#2を繰り返します

  6. 「プログラムと機能」から他の2つのオプションをインストールします。Net Framework 4.5 Advanced Services。 ASP.NET 4.5とWCFサービスの両方のサブオプションをチェックしました。

  7. アプリプールを再起動します。

シーケンスはちょっとクレイジーですが、それは私にとって助けになり、おそらく他の人に役立つでしょう

3
Budda

Windows 8またはWindows Server 2012でIIS 8を構成する場合、インストールの順序は非常に重要です。

私はIIS 8を設定する際に多くの問題に直面しましたが、ついにこれらのリンクは私を助けました

2
Sunil Agarwal

powerShellを使用して必要な機能をインストールすることができます。

Add-WindowsFeature 'NET-HTTP-Activation'
2
Owais F

Windows 10(クライアント)では、これを使ってスクリプトを書くこともできます。

Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All

これはサーバーskusとは異なるコマンドです。

1
aL3891

.NET FrameworkのHTTPアクティベーション機能であるWindowsプロセスアクティベーション機能も必要です

0
Max

これは私にとって本当に愚かなものでした。これをsvc 404の問題で最も人気のあるスレッドの1つとしてここに追加します。

私は自分のプロジェクト設定 '\ Web\Project URLに貼り付けました。

http://blah.webservice.local.blahblah.com/Blah.svc

そして、なんらかの未知の理由で(これを1000回行ったことで).svcファイルの名前が最後にあることをすぐに見つけられませんでした。

DOH!

WCFテストクライアントからアドレスを貼り付けたばかりで、十分に確認されていません。これがバックグラウンドで行ったことは、.svcアドレスにIISアプリケーションを作成することでしたが、IISから何も得られませんでした。私は.svcファイルにさえヒットできなかった方法を考え出すことができなかった。

簡単な修正、明らかに、IIS内のアプリケーションを削除し、プロジェクトのURLを変更するだけです。

これで約20年後、あなたはまだ男子生徒の誤り/新人の間違いをすることができます。これが誰かに役立つことを願っています。

0