[VS2010] ASP.NET Web サービス プロジェクト (.asmx) はどこへ?

ASP.NET Web サービス プロジェクト (.asmx) をご存知でしょうか?

WCF が登場する以前に、最初に Visual Studio で実装できるようになった XML ベース (POX, SOAP) の Web サービスです。XML Web サービスとも、拡張子に .asmx が使用されることから ASMX Web サービスとも言われているようです。

この ASP.NET Web サービス (.asmx) プロジェクトは、Visual Studio 2008 まではプロジェクトテンプレートとして用意されていました。

asmx1図. Visual Studio 2008 「新しいプロジェクト」ダイアログ

これが、実は Visual Studio 2010 ではプロジェクトテンプレートに表示されなくなりました。

asmx6 図. Visual Studio 2010 (RC英語版) にはない!?

それでは、ASP.NET Web サービスは作成できなくなってしまったの??と思われるかもしれませんが、実はアイテムテンプレートを使うことで、もちろんこれまで通り作成可能です。

Visual Studio 2010 で ASP.NET Web サービスを作成する手順は下記の通りです。

  1. ASP.NET Web アプリケーション プロジェクトを作成する。
  2. ソリューション エクスプローラー に、例えば “Services” などのフォルダを作成して、そのうえで右クリックする。
  3. 表示されたメニューの「追加 (Add) 」-「新しい項目 (New Item) 」を選択する。
    asmx5
  4. 「新しい項目の追加 (Add New Item) 」ダイアログで、「Web サービス (Web Service) 」を選択する。
    asmx2
  5. これで、ASP.NET Web サービス (.asmx) が作成できます。(実行結果が下記の図)
    asmx3  

この手順は、Visual Studio 2008 で、あとから Web サービスを追加する場合と同じ手順です。まだまだ、ASP.NET Web サービスを使用できますのでご安心を。

また、AJAX などでクライアントスクリプト (JavaScript) から Web サービスを使用する場合、JSON フォーマットを使用する場合が多いですが、WCF サービスをクライアントスクリプトから容易に使用できるように構成する、「AJAX-enabled WCF Service」というアイテムテンプレートも用意されています。

asmx4

こちらもぜひ試してみてください。WCF ベースで容易にクライアントサイドから利用できるサービスが構築できます。