Różnica między projektem MVC 5 i projektem Web Api

Jestem nowy na ASP.NET MVC a Web API i próbuje uzyskać podstawy. AFAIK, mamy szablony projektów w VS 2013, wymienione MVC,Web API a Both of them together.

przeszedłem przez podręczniki i dowiedzieć się, co możemy zrobić API, tylko przy użyciu MVC, a także z szablonu sieci web API.

tak Więc, jakie są różnice między nimi, oparte na architektura a ?


w zasadzie, a MVC kontroler, który wykorzystuje HttpMessageResponse jako podstawowego rodzaju jego odpowiedzi zamiast ActionResponse. Oni na wiele innych sposobów. Główna różnica między typami projektów polega na tym, że MVC Application typ projektu dodaje strony-konkretne rzeczy, takie jak default CSS,JavaScript pliki i inne zasoby niezbędne do witryny sieci web, które nie są potrzebne do API.

MVC jest używany do tworzenia stron internetowych. W tym przypadku Controllers normalnie wracać View (tzn. HTML odpowiedź na żądania przeglądarki. Web API, z drugiej strony, zazwyczaj są używane przez inne aplikacje. Jeśli chcesz umożliwić innym aplikacjom na dostęp do danych / funkcji, można tworzyć stronach-API dla ułatwienia tego dostępu. Na przykład, Facebook ma API, umożliwiający programistom aplikacji na dostęp do informacji o użytkownikach, którzy korzystają z aplikacji. Web API nie muszą być publicznie dostępne. Można również utworzyć API do obsługi własnych aplikacji. Na przykład, stworzyliśmy stronach-API dla obsługi funkcji AJAX naszej witryny w sieci web MVC.

Microsoft zmieniła sposób prezentacji różnych szablonów. Teraz zamiast korzystać z różnych szablonów dla różnych typów projektów zachęcają deweloperów mieszać ASP.NET technologii w obrębie tego samego projektu, w razie potrzeby. Microsoft nazywa to vNext.

aktualizacja: ASP.NET rdzeń, web API został zintegrowany w typ projektu MVC 6 i ApiController klasa konsolidowane w Controller klasy. Szczegółowe informacje: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6


moje dwa centy...

  1. ASP.Net MVC - MVC Controller decyduje, że musi być View - czyli kontroler decyduje, że użytkownik musi "widzieć" (na podstawie bieżącego skryptu lub kontekst), gdy robią zapytanie.
  2. ASP.Net FormularzeASPX strony decyduje, że użytkownik musi "widzieć", gdy robią zapytanie.
  3. a Web API żadnej kontroli / siła do każdej z sieci Funkcje API, aby zdecydować, co użytkownik musi "widzieć", gdy robią zapytanie.

Web API - to nie jest technologia, związana tylko ze stron internetowych. Może on być stosowany do wielu celów-nie tylko strony internetowe. W ten sposób, że nie zna wartości rendering

Dalszy Czytanie

  1. planowanie rozwiązań internetowych dzisiaj: formularze, ASP.NET MVC, Web API i OWIN.
  2. WCF lub ASP.NET web API? Moje dwa centy na motyw
  3. następne pokolenie .NET – ASP.NET vNext
  4. rozpoczęcie pracy z ASP.NET MVC 6

kontroler MVC, pochodnej od klasy kontrolera. W Mvc możesz zwraca prezentacji. Architektura MVC wykorzystuje do tworzenia aplikacji. Jednak interfejs web API, które są używane do dostarczania danych różnych aplikacji.

web Api dyski z kontrolera Api, a on nie zwraca reprezentację.

Uwaga: można również tworzyć sieci web Api z kontrolera MVC, ale trzeba zwrócić wynik jak jsonresult lub inne typy zwrotu, obsługiwane sieci web api.


w dodatku do odpowiedzi, już przedstawionych tutaj, warto zauważyć, że każdy kontroler, наследующий od ApiController i ma działanie HTTP czasownika POST, może mieć tylko jeden parametr wejściowy [FromBody]. Jeśli używasz kontrolera MVC (pochodna od "Controller"), u ciebie może być wiele parametrów wejściowych post.