3

私は少し混乱しています。現在、バージョン 3 の ASP.net MVC を学習中です。WebAPI が Microsoft の最新の Web テクノロジであることを知り、MVC を続行する必要があるかどうか自問自答したとき、すでにイライラしていました。

今日の調査から、WebAPI は、ブラウザー以外のアプリケーションにデータを提供する純粋な Http ベースの API を必要とするソリューション向けであることがわかりました。そして、HTML レンダリング エンジンがありません。そのため、多数の HTML ページをレンダリングする必要があるソリューションでは、MVC で問題ありません。

また、MVC と並行して行われ、それ自体を表す Web API 開発も読みました。

MVC4 の新機能の 1 つが WebAPI であることを初めて読んだときに Visual Studio を起動したとき、今日ではありません。

http://www.asp.net/mvc/mvc4

Web API は MVC の不可欠な部分になりましたか? 同じアプリケーションで MVC コントローラーを Web API コントローラーと直接混在させることはできますか? あるブログ投稿で、1 つのプロジェクトで WebAPI と MVC を使用すると、コードが重複することになると読みました。これはまだですか?

ベストトーマス

4

4 に答える 4

1

答えはイエスです!WebAPI には、MVC デザイン パターンの「モデル」と「コントローラー」の両方があります。しかし、「ビュー」はどこにありますか?

新しい WebAPI プロジェクトを作成すると、ビジュアル スタジオは ASP.NET MVC 標準コントローラーである既定の HomeController を作成し、Index.cshtml ビューを使用して Index アクションも追加します。このように動作するため、WebAPI サービスをホストしてテストすることができます。WCF では、Visual Studio がその目的のために WCF テスト クライアントを起動しました。

ビューがなければ、IIS でホストせずにサービスをテストする方法がありませんでした。

WebAPI も、同じルーティング エンジンと、ASP.NET MVC などの多くのサーバー側機能を使用します。

于 2014-03-10T16:10:10.113 に答える
1

Web API は MVC 4 にバンドルされています。単独で使用することも、MVC と組み合わせて使用​​することもできます。統合にはいくつかの荒削りな部分がありますが、それほど苦痛なことはありません。

于 2012-11-23T18:26:00.287 に答える
0

ASP.NET MVC

public class TweetsController : Controller {
  // GET: /Tweets/
  [HttpGet]
  public ActionResult Index() {
    return Json(Twitter.GetTweets(), JsonRequestBehavior.AllowGet);
  }
}

ASP.NET Web API

public class TweetsController : ApiController {
  // GET: /Api/Tweets/
  public List<Tweet> Get() {
    return Twitter.GetTweets();
  }
}

コードはこのリンクから来ています。

HTTP リクエストの処理など、両方のテクノロジーには多くの類似点があります。最も重要な違いは次のとおりです。

  • MVC は HTML ビューを作成し、
  • WebAPI にはシリアル化が組み込まれています。
于 2015-03-26T14:56:28.223 に答える
0

ASP.NET Web API は、ASP.NET MVC とは何の関係もありません。チームは、ASP.NET MVC 4 と同じ MSI インストーラー内に ASP.NET Web API を配置しましたが、これは間違いです。ここからすべての混乱が始まりますが、チームはその混乱を認識しています。

ASP.NET Web API は独立しており、.NETに直接依存することさえありませんSystem.Web。この投稿を見てください:

ASP.NET Web API は ASP.NET MVC の上にはありません! 実際、それは何の上にもありません

于 2012-11-25T21:36:31.007 に答える