過去数年間、正式なサービスコントラクト(SOAPやWS*など)ではなく、プレーンなHTTPに公開されたサービスであるWeb APIが出現してきています。この方法でサービスを公開すると、広く様々なデバイスやクライアントプラットフォームで機能を統合したり、ブラウザ内からJavaScriptを使用してよりリッチなHTML体験を作成することが、簡単にできるようになります。大きなWebサイトではWeb APIが公開されており(例えば、Facebook、Twitter、LinkedIn、Netflixなど)、ここ数年の内に、接続デバイスの広がりや、さらにリッチなユーザー体験の要求が加速していくでしょう。
モデルのバインディングとバリデーション:モデルのバインディングにより、HTTPリクエストからさまざまなデータを抽出したり、それらの情報をWeb APIアクションが使用できる.NETオブジェクトに簡単に変換したりすることができます。Web APIは、ASP.NET MVCがサポートする同じモデルバインディングおよびバリデーションの基盤をサポートしています。
テスト実行の改善:静的なコンテキストオブジェクトにHTTPの詳細を設定するのではなく、Web APIアクションでは、テストを非常に簡単にする2つの新しいHTTPオブジェクトであるHttpRequestMessageやHttpResponseMessageのインスタンスとやり取りできるようになりました。例えば、モックフレームワークを使用せずに、Web APIの総合テストができます。
柔軟性のあるホスティング:Web APIは、(ASP.NET Webフォームベースのアプリケーションの両方を含む)どんなタイプのASP.NETアプリケーション内でもホストできます。ASP.NET/IISを使用したくない場合、独自のプロセス内でもオプションでホスト/公開できるようにWeb APIサポートをデザインしました。これにより、使用する方法や場所に対して最大限柔軟に対応できます。 ●詳細について
ASP.NET 講演のビデオ(36分間これについてカバーしています)で、私の講演およびASP.NET APIのデモも確認できます。