148

ASP.NET MVCコントローラーを使用すると、さまざまな形式でデータを公開できます。AspNetWebAPIはAPIを作成するために明示的に設計されていますが、MVCコントローラーを使用して簡単に作成できます。どのような場合に、従来のMVCコントローラーよりも優れているかはわかりません。WebApiの利点が明らかであり、アプリケーションに別の複雑さのレイヤーを追加する価値があるシナリオに興味があります。

質問: MVCに関してasp.net WebApiを使用することの長所および/または短所は何ですか?

4

10 に答える 10

50

WebApi を使用すると、WCF や SOAP などの正式なサービスではなく、HTTP で公開できるサービスを作成できます。もう 1 つの違いは、WebApi がどのように Http プロトコルを使用し、真にファースト クラスの Http 市民にするかです。

更新: ASP.NET Core、Web API が MVC プロジェクト タイプに統合されました。クラスはApiControllerクラスに統合されControllerます。詳細: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6

比較、ディスカッション、チュートリアルの関連リンク:

ここに画像の説明を入力

于 2012-07-05T19:23:21.163 に答える
24

WebAPI は OData を吐き出すため、OData を使用するすべての利点が得られます。たとえば、WebAPI を使用すると、次のようになります。

  • $filter、$top、$orderby などのクエリ オプション。
    • 従来の MVC コントローラーでは、これらを自分で実装する必要があります。
  • フォーマットの標準化
    • RESTful API の基本的な形式を理解する OData クライアントがあります。
于 2012-07-05T19:20:32.027 に答える
14

ある時点で、ASP.NET MVC をすべて忘れたいと思うかもしれません。あなたが .NET 開発者であるが、(たとえば Angular を使用して) シングルページ アプリケーションを構築したい場合は、ASP.NET MVC に伴う不必要な肥大化なしで、RESTful サービス (WebAPI) の利点が必要になります。

于 2015-10-16T12:39:30.463 に答える
12

この画像は、問題の違いと類似点を示しているようです。それが私にとって興味深いものであることを願っています。

ここに画像の説明を入力

于 2016-11-13T19:14:18.163 に答える
7

ASP.NET MVC と ASP.NET Web api の両方が異なる目的で使用されています

ASP.NET

ASP.NET には、Web アプリケーションを作成するための 3 つのフレームワーク (Web フォーム、ASP.NET MVC、および ASP.NET Web ページ) が用意されています。3 つのフレームワークはすべて安定しており、成熟しており、どのフレームワークでも優れた Web アプリケーションを作成できます。どのフレームワークを選択しても、どこでも ASP.NET のすべての利点と機能を利用できます。

各フレームワークは、異なる開発スタイルを対象としています。どちらを選択するかは、プログラミング資産 (知識、スキル、および開発経験)、作成するアプリケーションの種類、および慣れている開発アプローチの組み合わせによって異なります。3 つのフレームワークはすべて、ASP.NET の今後のリリースでサポート、更新、および改善される予定です。

MVC

ASP.NET MVC は、動的な Web サイトを構築するための強力なパターン ベースの方法を提供します。これにより、問題を明確に分離し、マークアップを完全に制御して、楽しくアジャイルな開発を実現できます。ASP.NET MVC には、最新の Web 標準を使用する洗練されたアプリケーションを作成するための高速で TDD に適した開発を可能にする多くの機能が含まれています。

Web API

ASP.NET Web API は、ブラウザーやモバイル デバイスなど、幅広いクライアントに到達する HTTP サービスの構築を容易にするフレームワークです。ASP.NET Web API は、.NET Framework で RESTful アプリケーションを構築するための理想的なプラットフォームです。

ここで詳細を読むことができます http://www.dotnet-tricks.com/Tutorial/webapi/Y95G050413-Difference-between-ASP.NET-MVC-and-ASP.NET-Web-API.html

于 2016-08-25T11:00:45.490 に答える
5

ASP.NET MVC は、HTML の出力を簡単にすることに重点を置いています。ASP.NET Web API は、生データの出力を簡単にすることに重点を置いています。

WebForms の世界では、ASP.NET MVC は .aspx ページに相当し、ASP.NET Web API は .asmx になります。

于 2017-04-27T10:17:29.197 に答える