asp.net-mvc - сайт - частичное представление




ASP.NET WebApi против MVC? (7)

С помощью ASP.NET MVC-контроллеров вы можете предоставлять свои данные в разных форматах. AspNetWebAPI специально разработан для создания API, но я легко могу это сделать с помощью MVC-контроллеров, мне не ясно, в каких случаях это было бы лучше, чем традиционные MVC-контроллеры. Меня интересуют сценарии, в которых преимущества WebApi очевидны, и было бы достойно добавить еще один уровень сложности в мои приложения.

Вопрос: каковы преимущества и / или недостатки использования asp.net WebApi в отношении MVC?


ASP.NET MVC и ASP.NET Web api оба из них используют для разных целей

ASP.NET

ASP.NET предлагает три структуры для создания веб-приложений: веб-формы, ASP.NET MVC и веб-страницы ASP.NET. Все три структуры являются стабильными и зрелыми, и вы можете создавать отличные веб-приложения с любым из них. Независимо от того, какую структуру вы выберете, вы получите все преимущества и возможности ASP.NET во всем мире.

Каждая структура нацелена на другой стиль разработки. Выбор, который вы выбираете, зависит от комбинации ваших программных активов (знаний, навыков и опыта разработки), типа приложения, которое вы создаете, и подхода к разработке, с которым вам удобно. Все три структуры будут поддерживаться, обновляться и улучшаться в будущих выпусках ASP.NET.

MVC

ASP.NET MVC дает вам мощный, основанный на шаблонах способ создания динамических веб-сайтов, который обеспечивает четкое разделение проблем и дает вам полный контроль над разметкой для приятного и гибкого развития. ASP.NET MVC включает в себя множество функций, которые позволяют быстро разрабатывать TDD для создания сложных приложений, которые используют новейшие веб-стандарты.

Веб-API

ASP.NET Web API - это структура, которая упрощает создание HTTP-сервисов, которые охватывают широкий круг клиентов, включая браузеры и мобильные устройства. ASP.NET Web API - идеальная платформа для создания приложений RESTful в .NET Framework.

вы можете прочитать дополнительную форму здесь http://www.dotnet-tricks.com/Tutorial/webapi/Y95G050413-Difference-between-ASP.NET-MVC-and-ASP.NET-Web-API.html


ASP.NET MVC ориентирован на то, чтобы сделать вывод HTML легким. ASP.NET Web API ориентирован на то, чтобы сделать вывод необработанных данных простым.

В мире WebForms ASP.NET MVC будет эквивалентен страницам .aspx, а ASP.NET Web API будет .asmx


WebAPI выплевывает OData, поэтому вы получаете все преимущества использования OData. Например, с помощью WebAPI вы получаете:

  • Параметры запроса, такие как $ filter, $ top, $ orderby и т. Д.
    • С традиционными контроллерами MVC вам необходимо реализовать их самостоятельно.
  • Стандартизация формата
    • Есть клиенты OData, которые поймут базовый формат вашего RESTful API.

WebApi позволяет создавать службы, которые могут отображаться через HTTP, а не через официальные службы, такие как WCF или SOAP. Другое отличие заключается в том, как WebApi использует протокол Http и делает его действительно первоклассным Http-гражданином.

ОБНОВЛЕНИЕ: API-интерфейс ASP.NET, веб-интерфейс API интегрирован в тип проекта MVC. Класс ApiController объединяется в класс Controller . Подробнее: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6

Соответствующая ссылка сравнения, обсуждения и учебники:


Кажется, что это изображение показывает различия и сходства в этом вопросе. Надеюсь, что помощь мне интересна.


Обычно WebAPI используется для служб передачи данных, где MVC может генерировать больше типов выходов.

WebAPI, безусловно, упрощает способы создания служб данных. Для этого он чист и прост. В MVC есть еще несколько инструментов.

MVC может генерировать любые выходные данные WebAPI. Генерация выходов из шаблонов может быть легко достигнута в MVC. Я не могу найти причину этого в WebAPI. Разработчики PHP и старый программист ASP могут знать это отношение из прошлого, где вы можете создавать HTML-файлы, связанные с кодом C # внутри.

WebAPI-DATA MVC - DATA, UI / HTML, XHTML, файлы, шаблоны и т. Д.


Asp.Net Web API VS Asp.Net MVC 1 . Asp.Net MVC используется для создания веб-приложений, которые возвращают оба представления и данные, но Asp.Net Web API используется для создания полноразмерных HTTP-сервисов простым и простым способом, который возвращает только данные, которые не отображаются.

2 . Web API помогает создавать сервисы REST-over через .NET Framework, а также поддерживает согласование контента (речь идет о выборе наилучших данных формата ответа, которые могут быть приемлемыми для клиента. Это могут быть JSON, XML, ATOM или другие форматированные данные ), самостоятельный хостинг, которые не находятся в MVC.

3 . Web API также заботится о возврате данных в определенном формате, таком как JSON, XML или любой другой, на основе заголовка Accept в запросе, и вы не беспокоитесь об этом. MVC возвращает данные только в формате JSON с использованием JsonResult.

4 . В Web API запрос сопоставляется с действиями на основе HTTP-глаголов, но в MVC он сопоставляется с именем действия.

5 . Asp.Net Web API - это новая структура и часть основной структуры ASP.NET. Моделирование привязки, фильтры, маршрутизация и другие функции MVC существуют в веб-API, отличные от MVC и существуют в новой сборке System.Web.Http. В MVC эти действия существуют в System.Web.Mvc. Следовательно, Web API также может использоваться с Asp.Net и как отдельный сервисный уровень.

6 . Вы можете смешивать веб-API и контроллер MVC в одном проекте для обработки расширенных запросов AJAX, которые могут возвращать данные в формате JSON, XML или любых других и создавать полномасштабную HTTP-службу. Обычно это называется веб-хостингом Web API.

7 . Когда вы смешиваете контроллер MVC и Web API и хотите реализовать авторизацию, вам нужно создать два фильтра для MVC и другого для Web API, так как оба они разные.

8 . Кроме того, Web API - это легкая архитектура, и, кроме веб-приложения, он также может использоваться с приложениями для смартфонов.

Исходный источник здесь







asp.net-web-api