Что такое будущее ASP.NET MVC framework после выпуска asp.net Web API
Я использовал asp.net MVC около 1,5 лет пользуется своими возможностями и развернул множество успешных веб-приложений, но в настоящее время я читаю о asp.net технология Web API. И, я нахожу следующее:
Я могу реализовать любую функциональность, которую я использовал для реализации с помощью MVC; используя новый веб-API и более легкий подход.
проще разрабатывать веб-службы, используя сравнение веб-API в asp.net в MVC.
итак, будет asp.net веб-API взять на себя asp.net MVC в будущем, или каждая технология будет иметь свою собственную область для роста, или мы должны рассмотреть возможность использования обоих из них в одном веб-приложении?
4 ответов
помимо ответа @jmoerdyk, я хотел бы отметить кое-что:
ключ должен понять цель каждой технологии:
-
веб-API.
Это будет новый API для создания веб-служб, это альтернатива традиционным XML-службам и службам WCF, поэтому стоит сначала указать на основное различие между веб-API и остальными фреймворками веб-служб.
основное различие между Web API и службы WCF/ASMX-это он не основан на SOAP, он основан на HTTP поэтому вы можете воспользоваться всеми функциями HTTP, такими как:
- Он содержит заголовки сообщений, которые очень значимы и описательны - заголовки, которые предлагают тип содержимого тела сообщения, заголовки, которые объясняют, как кэшировать информацию, как ее защитить и т. д.
- использование глаголов для определения действий (POST, PUT, DELETE..)
- содержит тело что можно передавать любой контент
- Он использует URIs для идентификации как информационных путей (ресурсов), так и действий
Это была основная цель веб-API, известных тогда как веб-API WCF: прекратить смотреть на HTTP глазами WCF-как просто транспортный протокол для передачи запросов. Скорее, это позволяет нам смотреть на него как на реальный протокол прикладного уровня-богатый, совместимый, ресурсоориентированный протокол. Цель веб-API должен был правильно использовать URI, HTTP-заголовки и тело для создания HTTP-сервисов для интернета и для всех остальных, кто хотел бы принять HTTP как свой протокол и пожизненный друг.
взгляните на эту статью для получения дополнительной информации: http://www.codeproject.com/Articles/341414/WCF-or-ASP-NET-Web-APIs-My-two-cents-on-the-subjec
таким образом, в основном веб-API можно фактически сравнить с WCF или XML-службами
Если вы интересно, что будет с WCF?
таким образом, у нас было слишком много вариантов и, следовательно, слишком много путаницы. Что нам оставалось делать? Мы объединяем команды! (Напоминает нам о времени LINQ-to-SQL и Entity Framework, WCF и Ado.Net Data Services и другие подобные примеры). Итак, команда WCF и ASP.NET команда объединила усилия и создала новую структуру, ориентированную на мир REST/Hypermedia / HTTP-сервисов для веб-мира и, таким образом, вышла ASP.NET полотно Апис.
-
MVC
теперь, когда вы знаете, какова цель веб-API, тогда должно быть проще сказать почему MVC содержит дополнительные функции для отображения представлений в первую очередь.
ваша озабоченность основана на том, что веб-API на самом деле на основе MVC, но их цели различны
с другой стороны, ASP.NET инфраструктура MVC с элегантной обработкой HTTP запросы и ответы, а также его поддержка простых в создании контроллеров казались правильным способом создания этого нового типа услуг
нет, они не делают то же самое.
Web API действительно только для генерации JSON, XML или других текстовых ответов для реализации REST API. MVC также может это сделать, но новый веб-API, похоже, упрощает его, особенно с автоматическим согласованием типов контента.
то, что MVC делает, что веб-API не предназначен для генерации полных или частичных HTML-страниц с представлениями и тому подобное.
таким образом, каждый из них имеет свою собственную цель в ASP.Net рамки и вряд ли превзойдут другие.
WebAPI и MVC-это две разные вещи, но они оба работают в одной и той же структуре. WebAPI используется для служб restful. MVC используется для веб-страниц.
вы можете создавать службы restful в MVC с гораздо большей работой, чем в WebAPI. Обратное неверно. Вы не можете создавать веб-страницы в WebAPI. Поэтому, ваш вопрос в корне запутался.
Они будут объединены в новые версии, технически оба работают одинаково, но API не имеют подключенных представлений, поэтому обеспечивает лучшую производительность