6

私は約1.5年間asp.netMVCを使用しており、その機能を楽しんでおり、多くの成功したWebアプリケーションを展開していますが、現在asp.netWebAPIテクノロジについて読んでいます。そして、私は次のことを見つけました:

  1. MVCを使用して実装するために使用した機能を実装できます。新しいWebAPIを使用し、より軽量なアプローチで。

  2. asp.net MVCと比較して、WebAPIを使用してWebサービスを開発する方が簡単です。

では、将来、asp.net WebAPIがasp.netMVCを引き継ぐのでしょうか、それとも各テクノロジに独自の成長領域があるのでしょうか、それとも同じWebアプリケーションで両方を使用することを検討する必要がありますか?

4

4 に答える 4

16

@jmoerdykの答えに加えて、何か指摘したいと思います:

鍵となるのは、各テクノロジーの目標を理解することです。

  • ウェブ API。

    これは、Web サービスを作成するための新しい API になります。これは、従来の XML サービスと WCF サービスに代わるものです。そのため、最初に WEB API と他の Web サービス フレームワークとの主な違いを指摘する価値があります。

    Web API と WCF/ASMX サービスの主な違いは、SOAP に基づいていないことです。HTTP に基づいているため、次のようなすべての HTTP 機能を利用できます。

    • これには、非常に意味があり説明的なメッセージ ヘッダーが含まれています。メッセージの本文のコンテンツ タイプを示すヘッダー、情報をキャッシュする方法、情報を保護する方法などを説明するヘッダーです。
    • アクションを定義するための動詞の使用 (POST、PUT、DELETE..)
    • あらゆる種類のコンテンツを送信するために使用できる本文が含まれています
    • 情報パス (リソース) とアクションの両方を識別するために URI を使用します。

    それが、当時 WCF Web API として知られていた Web API の主な目標でした。WCF の目を通して HTTP を見るのをやめる - 要求を渡すための単なるトランスポート プロトコルとして。むしろ、それを実際のアプリケーションレベルのプロトコル、つまりリッチで相互運用可能なリソース指向のプロトコルとして見ることができます。Web API の目的は、URI、HTTP ヘッダー、および本文を適切に使用して、Web 用の HTTP サービスを作成すること、および HTTP をプロトコルおよび生涯の友人として受け入れたいと考えている他のすべての人のために作成することでした。

    詳細については、この記事をご覧ください: http://www.codeproject.com/Articles/341414/WCF-or-ASP-NET-Web-APIs-My-two-cents-on-the-subjec

    したがって、基本的に Web API は実際に WCF または XML サービスと比較できます。

    WCF で何が起こるか知りたいですか?

    事実、選択肢が多すぎて、混乱が多すぎました。私たちは何をすべきでしたか?チームを統合します!(LINQ-to-SQL と Entity Framework、WCF と Ado.Net Data Services などの例の時代を思い起こさせます)。そこで、WCF チームと ASP.NET チームが力を合わせて、Web ワールド向けの REST/ハイパーメディア/HTTP サービスの世界に焦点を当てた新しいフレームワークを作成し、ASP.NET Web API を生み出しました。

  • MVC

    Web API の目的がわかったので、主にビューをレンダリングするための追加機能が MVC に含まれている理由を簡単に説明できるはずです。

    あなたの懸念は、WEB API が実際には MVC に基づいているという事実に基づいていますが、それらの目標は異なります

    一方、ASP.NET MVC インフラストラクチャは、HTTP 要求と応答の洗練された処理と、作成が容易なコントローラーのサポートを備えており、この新しいタイプのサービスを作成するための適切な方法のように思われました。

于 2012-07-23T23:54:29.100 に答える
6

いいえ、彼らは実際には同じことをしていません。

Web API は実際には、REST ベースの API を実装するための JSON、XML、またはその他のテキスト ベースの応答を生成するためだけのものです。MVC も同様にそれを行うことができますが、新しい Web API では、特にコンテンツ タイプの自動ネゴシエーションにより、より簡単になっているようです。

Web API が意図していない MVC の機能は、ビューなどを含む完全または部分的な HTML ページを生成することです。

したがって、それぞれが ASP.Net フレームワークで独自の目的を持っており、他のものを凌駕する可能性はほとんどありません。

于 2012-07-23T22:57:31.883 に答える
2

WebAPI と MVC は 2 つの異なるものですが、どちらも同じフレームワークで動作します。WebAPI は安らかなサービスに使用されます。MVC は Web ページに使用されます。

WebAPI よりも多くの作業で、MVC で安らかなサービスを作成できます。逆は当てはまりません。WebAPI で Web ページを作成することはできません。したがって、あなたの質問は根本的に混乱しています。

于 2012-07-23T23:59:55.727 に答える
0

それらは新しいバージョンでマージされる予定です。技術的にはどちらも同様に機能しますが、API にはビューが添付されていないため、パフォーマンスが向上します

于 2016-04-20T05:16:04.240 に答える