次の方法で共有


WCF および ASP.NET Web API

WCF は、サービス指向アプリケーションを構築するための Microsoft の統合プログラミング モデルです。 これにより、開発者は、プラットフォーム間で統合され、既存の投資と相互運用できる、安全で信頼性の高いトランザクション ソリューションを構築できます。 ASP.NET Web API は、ブラウザーやモバイル デバイスなど、幅広いクライアントに到達する HTTP サービスを簡単に構築できるフレームワークです。 ASP.NET Web API は、.NET Framework で RESTful アプリケーションを構築するための理想的なプラットフォームです。 このトピックでは、ニーズに最も適したテクノロジを決定するのに役立つガイダンスをいくつか紹介します。

使用するテクノロジの選択

次の表では、各テクノロジの主な機能について説明します。

WCF(Windows Communication Foundation) ASP.NET Web API
複数のトランスポート プロトコル (HTTP、TCP、UDP、およびカスタム トランスポート) をサポートし、それらを切り替えるサービスを構築できるようにします。 HTTP のみ。 HTTP 用のファースト クラスプログラミング モデル。 広い範囲を可能にするさまざまなブラウザ、モバイルデバイスからのアクセスに適しています。
同じメッセージの種類の複数のエンコード (Text、MTOM、Binary) をサポートし、それらを切り替えるサービスを構築できるようにします。 XML、JSON など、さまざまなメディアの種類をサポートする Web API の構築を可能にします。
Reliable Messaging、Transactions、Message Security などの WS-* 標準を使用したサービスの構築をサポートします。 HTTP、WebSocket、SSL、JSON、XML などの基本的なプロトコルと形式を使用します。 Reliable Messaging や Transactions などの上位レベルのプロトコルはサポートされません。
要求/応答、一方向、双方向のメッセージ交換パターンをサポートします。 HTTP は要求/応答ですが、 SignalR と WebSocket の統合を通じて追加のパターンをサポートできます。
WCF SOAP サービスは WSDL で記述できます。これにより、複雑なスキーマを持つサービスの場合でも、自動ツールでクライアント プロキシを生成できます。 スニペットを記述する自動生成された HTML ヘルプ ページから、OData 統合 API の構造化メタデータまで、さまざまな方法で Web API を記述できます。
.NET Framework に付属しています。 .NET Framework に付属していますが、オープンソースであり、独立したダウンロードとして帯域外でも利用できます。

WCF を使用して、さまざまなトランスポート経由でアクセスできる信頼性の高いセキュリティで保護された Web サービスを作成します。 ASP.NET Web API を使用して、さまざまなクライアントからアクセスできる HTTP ベースのサービスを作成します。 新しい REST スタイルのサービスを作成および設計する場合は、ASP.NET Web API を使用します。 WCF では REST スタイルのサービスを記述するためのサポートがいくつか用意されていますが、ASP.NET Web API での REST のサポートはより完全になり、今後の REST 機能の改善はすべて ASP.NET Web API で行われる予定です。 既存の WCF サービスがあり、追加の REST エンドポイントを公開する場合は、WCF と WebHttpBindingを使用します。

こちらも参照ください