タイトルは本当に私の質問をまとめています。私は両方の技術を使用しましたが、私はどちらが提供しているものが実質的に他とは何かについては不明です。本質的に:Web APIとASPの主な違いは何ですかMVC
安らかなWebアプリケーションを設計する際に、ASP MVCまたはWeb APIを選択する際に考慮すべき基準はありますか?
タイトルは本当に私の質問をまとめています。私は両方の技術を使用しましたが、私はどちらが提供しているものが実質的に他とは何かについては不明です。本質的に:Web APIとASPの主な違いは何ですかMVC
安らかなWebアプリケーションを設計する際に、ASP MVCまたはWeb APIを選択する際に考慮すべき基準はありますか?
目的
ASP.NET MVCは、HTMLの出力が容易に焦点を当てています。 ASP.NET Web APIは、生データの出力を容易にすることに重点を置いています。
WebFormsの世界では、ASP.NET MVCは.aspxページに相当し、ASP.NET Web APIは.asmxになります。
何もそれがWeb APIの出力HTMLとMVC出力生データを作成することは可能ですが、あなたは追加の作業が必要になります
不可能ではありませんが。たとえば、Web APIのコンテンツネゴシエーション中にtext/htmlを処理する追加のクラスを作成する、またはMVCのODataクエリを処理するロジックを追加するなどです。
仮定
MVCとWeb APIの両方のデフォルトの仮定はあまりにも異なっています。 MVCは、デフォルトでは、ユーザーが提出したデータは、クエリ文字列またはフォーム内の複数のソースから取得できると仮定しています。
デフォルトでは、Web APIはプリミティブ型がクエリ文字列から来ており、プリミティブでない型はフォームからのものであることを前提としています。また、キャッシュを使わずに一度だけフォーム本体を読み込み、メモリ使用量を減らし、パフォーマンスを向上させたいと仮定しています。
デフォルトに反すると、私にはそれ以上の作業が必要ですが、それはまったく意味がありません。
EDIT:ウェブAPIはデフォルトでAJAXリクエストをGETできますしながら、
また、AJAX要求は、CSRFを防ぐために、デフォルトではMVCのするJsonResultによってブロックされてGET。 MVC 6
ため
更新MVC 6は、MVCとWeb APIを統合して、MVCのようにするViewResultを返すか、Web APIのようにオブジェクトをすることができ、およびフレームワークは、HTMLを作成し、コンテントネゴシエーションの世話をします、JSON、またはXMLを使用できます。 System.Webが提供するものではなく、カスタムパイプラインを使用することで、メモリ使用量が減少します。
今後、MVCとWeb APIの区別はありません。
私が正しく理解しているのは、2つの主な違いは、ASP MVCがHTMLを出力するように設計されており、Web APIが他のものを出力するように設計されているということです。これは考慮すべき唯一の要因ですか? – Nathan
私が知る限り、はい。自分のウェブサイトにMVCを使用し、モバイルAPIに必要なデータをWeb APIで提供します。両方とも同じプロジェクトに存在することができます。 –
@JeowLiHuan Web Apiからデフォルトのデフォルトを取り除き、独自のデフォルトを使用するのは簡単です。そのようにして、あなた自身の意見を持つWeb APIフレームワークの基礎になることができます。 –