web-dev-qa-db-ja.com

「HTTPエラー404.3-見つかりません」エラーを解決する方法

単純な問題。 VS2008を起動して、新しいWCFサービスアプリケーションを作成します。これにより、いくつかのテストメソッドが機能することを示すデフォルトのアプリケーションが作成されます。 CTRL + F5を押すと、実際に機能します。すごい!ただし、これはサポートしたくないVisual Studio開発サーバーを使用しています。

そこで、プロジェクトのプロパティに移動し、ローカルのIIS Webサーバーを使用するように切り替え、仮想ディレクトリを作成して、もう一度CTRL + F5を押します。そして、この「HTTPエラー404.3-見つかりません」というエラーが表示されます。私が戻ってきました。

そのため、IIS7/Vista-64セットアップの何かが間違っています。何が欠けているのでしょうか?

20
Wim ten Brink

スタート->実行cmdをクリックし、次のように入力します。

cd "\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation"
ServiceModelReg.exe -i
26
bendewey

この問題に初めて直面した場合。 Windows 8およびIIS 8.0の場合、必ずWindows Communication Foundation HTTP Windows機能をアクティブ化してください。

  1. コントロールパネルに移動します"プログラムと機能"を選択します
  2. リフトハンドサイドメニューから"Windowsの機能を有効または無効にする"を選択します。
  3. 展開"。Net Framework 3.5(.NET 2.0および3.0を含む)"アイテム
  4. 最後に"Windows Communication Foundation HTTP Activation"を選択します
  5. WCF Servcieをお楽しみください。
24

ただし、問題は、次に説明するASP.NetをIISに再登録することです。

また、64ビットマシンを使用している場合は、常にFramework64パスを使用します。C:\ Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis.exe -iru

以下はマイクロソフトからの説明です:

http://download.Microsoft.com/download/0/A/E/0AEB3BC1-506E-4954-8AB1-4FA2EE75985C/ReleaseNotes.docx

HTTPトランスポートを介してメッセージを受信するサービスを実行しようとすると、次のようなエラーが表示される場合があります。

'/ WCFApplication'アプリケーションでのサーバーエラー

アセンブリ 'System.ServiceModel、Version = 3.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089'からタイプ 'System.ServiceModel.Activation.HttpModule'をロードできませんでした。

説明:現在のWeb要求の実行中に未処理の例外が発生しました。エラーの詳細と、コードのどこで発生したかについて、スタックトレースを確認します。例外の詳細:System.TypeLoadException:アセンブリ 'System.ServiceModel、Version = 3.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089'からタイプ 'System.ServiceModel.Activation.HttpModule'をロードできませんでした。

このエラーは、IISが.NET Framework 4のインストール後にインストールされた場合、または3.0バージョンのWCF Http Activationモジュールがインストール後にインストールされた場合に発生する可能性がありますIISおよび.NET Framework 4。

この問題を解決するには、ASP.NET IIS Registration Tool(Aspnet_regiis.exe、))を使用して、正しいバージョンのASP.NETを登録する必要があります。これは、-iruパラメータを使用して実行できます。 aspnet_regiis.exeを次のように実行すると:

aspnet_regiis.exe -iru

そして、それが原因であるクレジット: Source

10
Doguhan Uluca

Windows Server 2012の[役割サービスの追加]で[HTTPアクティベーション]を選択する必要がありました。

6
GONeale

インターネット情報サービスを拡張してIIS=をインストールしてから、ASP.Net 3.5またはASP.Net 4.5およびISAPIを確認してください... 。詳細については画像をご覧くださいenter image description here

3
Mr.Buntha Khin

さまざまなフラグを使用してServiceModelRegおよびaspnet_regiis.exeを実行してHTTPアクティベーション機能を追加しようとしましたが、それでも機能しませんでした。最終的に機能したのは、次のハンドラーをweb.configファイルに手動で追加することでした。

<system.webServer>
    <handlers>
      <add name="svc-Integrated" path="*.svc" verb="GET,HEAD,POST,DEBUG" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" modules="ManagedPipelineHandler" scriptProcessor="" resourceType="Unspecified" requireAccess="Script" allowPathInfo="false" preCondition="integratedMode" responseBufferLimit="4194304" />

私のプロジェクトは.Net 3.5を実行しており、IISは7.5および7.0でした。

1
Janspeed