Windows Server 2008 R2 x64 Enterprise EditionでIIS 7.5を使用しています。 ASP.NET 4.0で開発したプロジェクトでは、WCFサービスを使用しました。ただし、ソフトウェアがローカルコンピューターから実行されている場合、ドメイン上では実行されません。そうでない場合、次のエラーが表示されます。
HTTPエラー404.3-見つかりません
拡張機能が設定されているため、リクエストしているページは配信できません。ページがスクリプトの場合、ハンドラーを追加します。ファイルをダウンロードする必要がある場合は、MIMEマップを追加します。
IISサブコンポーネントをインストールする必要があります
Control Panel
-> Programs and Features
-> Turn Windows features on or off
Internet Information Services
にはサブセクションWorld Wide Web Services
/Application Development Features
があります
そこで、ASP.NET
(.NET Extensibility
、ISAPI Extensions
、ISAPI Filters
が自動的に選択されます)をチェックする必要があります。特定のバージョンがチェックされていることを再確認してください。 Windows Server 2012 R2では、これらのオプションは4と4.5に分割されています。
cmd
から実行:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
最後に、IISマネージャーで、アプリケーションが.NET frameworkバージョンv4.0のアプリケーションプールを使用していることを確認します。
また、 この回答 もご覧ください。
私の場合、Mekanikの提案とともに、Windows Server 2012でこのエラーを受け取り、「役割サービスの追加」で「HTTPアクティベーション」にチェックマークを付ける必要がありました。
Windows Server 2012では、asp.netをインストールした後でも、この問題が発生する場合があります。
「Httpアクティベーション」機能を確認します。この機能は、Webサービスにも存在します。
上記を必ず追加してください。すべてが素晴らしいはずです!
IISでローカルにホストされているwcfサービスにアクセスできませんでした。 aspnet_regiis.exe -iを実行しても機能しませんでした。
しかし、私は幸い次のことに出会いました。
servicemodelregも実行する必要があることを通知します。
Visual Studio 2008コマンドプロンプトを「管理者」として実行します。 C:\ Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundationに移動します。このコマンドservicemodelreg –iを実行します。