WCF
ASP.NET
IIS

Windows10のIISへwebアプリを配置するために必要な機能の有効化

概要

Windows10 64bitのIIS(バージョン10.0.16299.15)にASP.NET webアプリケーションを配置した。
Windows7 32bitのIIS(バージョン7.5.7600.16385)では同じ手順でサービスが動いたのに、動いてくれない。
調査した結果、Windows機能の有効化にて項目を追加することが必要と分かった。

詳細

Visual Studio(Community 2017)でwebデプロイパッケージを発行し、Windows10のIISにwebサイトを追加してパッケージのインポートを行った。
Visual Studio上でデバッグを行ったところ、クライアント側のConnected Servicesでエラー405が返ってくる。(「リモートサーバーから予期しない応答が返されました:(405)Method Not Allowed。)
全く同じ手順をWindows7のIISで行うと、サービスはちゃんと動くのだが。。。

キャプチャ1.PNG

ブラウザでアクセスすると、ディレクトリまでは開ける。

キャプチャ2.PNG

しかし、その先のサービス名を指定すると404エラーとなる。

キャプチャ3.PNG

いろいろ調査を続けて、たどり着いたのがこちらの情報。
http://surferonwww.info/BlogEngine/post/2017/02/05/wcf-servce-hosted-by-aspnet-returns-http-404-17-error.aspx
有意義な情報をありがとうございました。

Windowsの機能の有効化において、IIS(インターネットインフォメーションサービス)の各項目に加え、「.NET Framework 4.7 Advanced Services」-「WCFサービス」-「HTTPアクティブ化」にチェックONが必要だった。

キャプチャ.PNG

前述の情報では「.NET Framework 4.7 Advanced Services」のところが「.NET Framework 4.6 Advanced Services」となっており、.NET のバージョンによって変わる模様。
機能を有効化した後、サービスが動くようになった。