287

Windows Server 2012 ビルド 8400 の IIS8 で WCF サービスを実行しようとしています。

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

インストール時に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.

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

このサイトは、偽装を使用するために従来のパイプラインを使用しています。

4

12 に答える 12

579

すなわち:

  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"ます。
于 2012-09-20T19:28:27.510 に答える
227

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

HTTP アクティベーションを有効にする

于 2013-01-23T23:33:31.543 に答える
46

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

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

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

于 2012-08-27T09:17:12.790 に答える
40

Windows 8 と IIS8

  • 打つWindows+X
  • 選択Programs and Features(リストの最初の項目)
  • Turn Windows Features on or off左側を選択
  • 拡大.NET Framework 4.5 Advanced Services
  • 拡大WCF Services
  • 有効HTTP Activation
于 2013-07-30T21:37:33.897 に答える
10

Windows Server 2012 でのエラーは、次の方法で解決できました。

  1. 「役割と機能の削除ウィザード」からの削除 .NET Framework 4.5 の機能/ASP.NET 4.5 とそれに依存するすべての機能
  2. 削除された機能の再インストール。

インストールの順番が原因のようです。

また、WCF サービスの下に HTTP Activation がインストールされていることを確認してください。

于 2013-03-11T09:53:32.887 に答える
3

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

問題を解決できましたが。次の操作をどの順序で実行したかはわかりませんが、次のアクションの 1 つまたはいくつかが役立つようです。

  1. 「Windows機能をオンまたはオフにする」で次をオンにします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 つのコマンドを使用して ASP.NET 2.0 を登録しました (フォルダ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 内):

    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. アプリ プールを再起動します。

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

于 2013-01-02T02:53:12.760 に答える
2

Windows8またはWindowsServer2012でIIS8を構成する場合、インストールの順序は非常に重要です。

IIS 8の構成で多くの問題に直面しましたが、最終的にこれらのリンクが役に立ちました

于 2013-03-14T17:27:43.280 に答える
2

Windows 10(クライアント)では、次を使用してこれをスクリプト化することもできます

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

これはサーバー skus とは別のコマンドであることに注意してください。

于 2016-09-06T20:22:09.097 に答える
0

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

プロジェクト設定の\ Web \ Project URLに貼り付けました:

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

そして、なんらかの理由で (これを何千回も実行しましたが)、.svc ファイルの名前が末尾にあることにすぐには気付きませんでした。

ドー!

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

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

これでほぼ20年経った今でも、学生の間違い/新人の間違いを犯す可能性があります。これが誰かに役立つことを願っています。

于 2016-10-18T20:05:53.437 に答える
0

.NET フレームワークの HTTP Activation 機能です Windows Process Activation 機能も必要です

于 2015-10-31T16:50:52.167 に答える