今日、私はASP.netWebAPIについてたくさん読みました。トランスポートとしてHTTPのみを必要とするWebサービスが必要な場合は、ASP.net APIを使用でき、WCFは必要ないということを正しく理解していますか?これまでのところ、WebAPIはWCFよりもはるかに使いやすいように見えます。
最高のトーマス
今日、私はASP.netWebAPIについてたくさん読みました。トランスポートとしてHTTPのみを必要とするWebサービスが必要な場合は、ASP.net APIを使用でき、WCFは必要ないということを正しく理解していますか?これまでのところ、WebAPIはWCFよりもはるかに使いやすいように見えます。
最高のトーマス
あなたの質問に対する答えは基本的にイエスです。a)HTTPのみを使用したい、b)コンテンツをXMLまたはJSONとして返したい、c)RESTful APIを使用したい、d)高度なメッセージング機能を必要としない場合は、WebAPIが最善の策です。ご指摘のとおり、WCFよりもはるかに使いやすいです。
Webサービスを作成する場合、2つの基本的なオプションがあります。SOAPベースのサービスまたはRESTfulAPIです。SOAPベースのサービスを使用している場合は、WCFを使用する必要があります。RESTfulサービスを使用している場合は、WebAPIを使用する必要があります。これに関する詳細については、このブログ投稿を参照してください:http: //blogs.microsoft.co.il/blogs/idof/archive/2012/03/05/wcf-or-asp-net-web-apis-my- 2-cents-on-the-subject.aspx
余談ですが、SOAPとRESTのどちらを選択するかは、状況の詳細によって異なります。一般的なガイドラインは次のとおりです。
SOAPサービスを支持する要因:
RESTfulサービスを支持する要因:
編集: コメントに応じて、WCF / SOAPを使用すると、SOAPでサポートされているさまざまな機能を使用できるようになります。これには、トランザクション、信頼性の高いメッセージング、さまざまなメッセージングパターン(一方向、二重など)、WS-Securityなどが含まれます。これらの標準はOASIS標準機関によって維持されており、一般にWS-*と呼ばれます。WS-*標準のリストはここにあります。
Web API / RESTを使用している場合、WS-*機能を使用することはできません。ただし、IISおよびASP.Netで利用可能な標準の認証技術を使用して、RESTfulサービスへのアクセスを認証および承認することは引き続き可能です。詳細については、次のリンクを参照してください。
http://codebetter.com/johnvpetersen/2012/04/02/making-your-asp-net-web-apis-secure/
http://stevescodingblog.co.uk/basic-authentication-with-asp-net-webapi/
そしてこれらのブログ投稿のいくつか。