WCFは、Microsoftの以前のすべてのWebサービステクノロジに代わるものです。また、従来「Webサービス」と見なされていたものよりもはるかに多くのことを行います。
WCFの「Webサービス」は、WCFを介して可能になるはるかに幅広いリモート通信の一部です。WCFは、マイクロソフトが提供するさまざまな分散プログラミングインフラストラクチャをすべて要約するようにゼロから設計されているため、従来のASMXよりもWCFで作業を行う際の柔軟性と移植性が大幅に向上します。WCFのエンドポイントは、TCP /バイナリを介した場合と同じようにSOAP / XMLを介して簡単に通信でき、このメディアを変更するには、構成ファイルのmodを使用するだけです。理論的には、これにより、ビジネスニーズ、ターゲットなどを移植または変更するときに必要な新しいコードの量が削減されます。
ASMX is older than WCF, and anything ASMX can do so can WCF (and more)
。基本的に、WCFは、Microsoftの世界で2つのアプリを通信させるためのさまざまな方法をすべて論理的にグループ化しようとしていると見なすことができます。ASMXは、これらの多くの方法の1つにすぎなかったため、現在はWCFの機能の傘下にグループ化されています。
WebサービスにはHTTP経由でのみアクセスでき、ステートレス環境で機能します。WCFは、さまざまな種類のアプリケーションでサービスをホストできるため、柔軟性があります。WCFサービスをホストするための一般的なシナリオは、IIS、WAS、セルフホスティング、マネージドWindowsサービスです。
主な違いは、WebサービスがXmlSerializerを使用することです。ただし、WCFはXmlSerializerと比較してパフォーマンスが優れているDataContractSerializerを使用します。
どのシナリオでWCFを使用する必要がありますか
- 商取引を処理するための安全なサービス。そのサービス
- トラフィックレポートやその他など、現在のデータを他のユーザーに提供します
- 監視サービス。2人でできるチャットサービス
- リアルタイムでデータを通信または交換します。ダッシュボードアプリケーション
- 1つ以上のサービスをポーリングしてデータを取得し、論理的に表示します
- プレゼンテーション。Windowsワークフローを使用して実装されたワークフローの公開
- WCFサービスとしての基盤。ポーリングするSilverlightアプリケーション
- 最新のデータフィードのサービス。
WCFの機能
- サービス指向
- 相互運用性
- 複数のメッセージパターン
- サービスメタデータ
- データ契約
- セキュリティ
- 複数のトランスポートとエンコーディング
- 信頼性の高いキューに入れられたメッセージ
- 耐久性のあるメッセージ
- トランザクション
- AJAXとRESTのサポート
- 拡張性
ソース:テキストの主なソース