web-dev-qa-db-ja.com

WCF vs ASP .Net Web API

各テクノロジーを使用することの長所と短所は何ですか?

WCF Web ApiがAsp.netにマージされるようになりましたAsp.net Web APIは、セルフホスティングをサポートするようになりました。

同じ操作に対して複数のプロトコルスキーマを公開したい場合、WCFに傾くか、Mvcエンドポイントでもこれを行うことができますか?

また、新しいAsp.Net Web APIはWsdlを公開しますか?そうでない場合、クライアントはどのような操作が利用できるかをどのように判断しますか?

Mvcの最も優れた機能は間違いなくmodelbinderです。 WCFと同等の堅牢性はどれくらいですか?

だから、Asp.net Web APIがテーブルにもたらす利点を誰かが教えてもらえますか? WCFは圧倒的に強力でスケーラブルな選択肢であるimoのようです。 Mvc Web ApiがWCFモデルに対して持っている唯一のことはおそらく開発の容易さですが、それが最終的に深刻な設計上の制限になった場合、スクワットを意味します。

93
Alwyn

まず、このテーマに関する私の投稿を読むことをお勧めします: http://blogs.Microsoft.co.il/blogs/idof/archive/2012/03/05/wcf-or-asp-net-web- apis-my-two-cents-on-the-subject.aspx

あなたのWSDLの質問に関して-WebApiはSOAPを使用しないため、WSDLを必要とせず、エクスポートもしません。 Hypermediaを使用して、可能なアクティビティURLのリストを持つリソースを返すことができます(自己記述型リソースと考えてください)

72
IdoFlatow

選択は、何をしたいかによって異なります。

  1. ASP.NET Web APIは、HTTPのみで非SOAPベースのサービスを構築するためのフレームワークです。したがって、このフレームワークを使用して利用できるトランスポートプロトコルはこれ以上ありません。
  2. WCF/Windows Communication Foundationは、SOAPベースのメッセージを交換するためのフレームワークです。ここでは、HTTP、TCP、名前付きパイプ、MSMQなどの多くのトランスポートプロトコルを使用しています。

低プロトコルを使用できるため、データ量、おそらくWCFのどちらに関してパフォーマンスが優れているかはわかりません。コメントは大歓迎です。

15
Junior M

WCF Web APIは、主にREST実装に焦点を当てています。REST実装を設定している場合、標準のWCFビットは後部の苦痛です。RESTfulサービスを設定する場合、WCF Web APIの方がはるかに優れたエクスペリエンスになります。SOAPサービスを設定する場合、WCF Web APIは親友ではありません。サービスにWCFを使用したほうがよいでしょう。

8

イントラネット/ B2BサイトにWCFを使用するn B2C/C2C /インターネットサイトにWeb APIを使用する... SOAP/XMLは、企業内通信の標準であり、今後も廃止されません!!!

0
A_Var