Учебники

12) WCF против веб-API

What is WCF?

WCF stands for Windows Communication Foundation. It is used to create a distributed and interoperable Applications. WCF is an effective platform for developing service-oriented applications. It allows developers to create secure, reliable, and high profile development solutions which can be integrated across platforms and interoperate with existing investments.

In this tutorial, you will learn

What is Web API?

ASP.NET Web API is a framework which allows you to build HTTP services for browsers and mobile devices. It is an ideal platform for developing RESTful applications on the ASP .NET Framework.

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

Зачем использовать WCF?

Вопросы переполнения стека ASP.net веб API против WCF

Вот преимущества / преимущества использования WCF:

  • WCF является идеальным вариантом, если вы планируете использовать .NET Framework 3.5.
  • WCF поддерживает несколько протоколов, таких как HTTP, TCP, именованный канал.
  • Служба WCF полезна, если вы хотите создать службу с такими стандартами, как безопасность обмена транзакциями и надежная защита сообщений.
  • Вы можете использовать шаблоны запроса-ответа, одностороннего и дуплексного обмена сообщениями с WCF.

Почему используется веб-API?

Google Trends WCF против веб-API ASP.Net

Вот преимущества и преимущества использования веб-API:

  • Web API обеспечивает поддержку действий CRUD на основе соглашений, поскольку он работает с глаголами HTTP (GET, PUT, POST и DELETE).
  • Его легко определить, разоблачить и потреблять в режиме REST.
  • ASP.Net Web API позволяет демонстрировать ваши данные и сервисы различным устройствам.
  • Web API имеет открытый исходный код, поэтому он является идеальным вариантом для создания сервисов RESTful на платформе .NET.
  • Позволяет вам масштабируемую развязанную разработку веб-службы, которая может использоваться другими разработчиками для доступа к веб-службам.
  • Также полезно создавать простые HTTP-сервисы без SOAP.

Характеристики WCF

  • Конфигурируемые транспорты
  • Лучшие варианты для сериализации
  • Хорошо интегрируется с IIS
  • Легко для самостоятельного размещения
  • Очень богатые метаданные
  • Сложная модель для публикации
  • Богатые данные контрактов

Характеристики веб-API

  • Тесно связан с HTTP
  • Легко проверить
  • Предлагает поддержку для согласования контента
  • Позволяет открытое форматирование
  • Нет опоры на платформу
  • Сплошная ресурсная ориентация
  • Уровень 2 опыта с зарождающейся поддержкой гипермедиа

WCF против веб-службы

параметр WCF Веб-API
Шаблон обмена сообщениями Запросить ответ, односторонний или дуплексный. По умолчанию только запрос-ответ. Тем не менее, дополнительный шаблон сообщения может поддерживаться при интеграции веб-сокетов.
Хостинг IIS хостинг, услуги самостоятельного хостинга и активации работ. Самостоятельный хостинг и IIS хостинг.
Открытый исходный код Это не программное обеспечение с открытым исходным кодом. Он поставляется с .Net framework. Он также доступен для самостоятельной загрузки.
Поддержка функций MVC WCF не поддерживает такие функции MVC, как контроллеры, маршрутизация, фильтрация, результаты аукциона и т. Д. ASP.NET Web API поддерживает такие функции MVC, как маршрутизация, контроллеры, результаты, фильтр, действие и т. Д.
Поддержка кодирования Текст, MTOM и Binary. Поддержка по умолчанию для формата кодировки UTF-8.
Поддержка для Поддержка HTTP, UDP и пользовательского транспортного протокола. Поддерживает только протокол HTTP
Использование модели Пользовательская модель программирования. Сопоставляет глаголы HTTP с методами
конфигурация Использует web.config и атрибуты для настройки класса HttpConfiguration, но не в сервисе web.config. Веб-API можно настроить с помощью сервиса web.config.
RESTful услуги Он предлагает поддержку для сервиса RESTFUL, но с ограничениями. Идеально подходит для создания ОТДЫХНЫХ услуг.

Решающим фактором для WCF против веб-API

Ниже приведен краткий контрольный список, который поможет определить, использовать ли WCF или веб-API.

сценарий WCF 4.5 ASP.NET Web API
Требуется поддержка таких сценариев, как очереди сообщений, сквозная защита сообщений, двусторонняя связь, распределенные транзакции и т. Д. Выбрать НЕ ВЫБИРАЙТЕ

Если у вас уже есть работающие сервисы WCF и вы хотите дополнительно добавить поддержку HTTP. Выбрать НЕ ВЫБИРАЙТЕ

Одна база кода для поддержки конечных точек SOAP и RESTful. Выбрать НЕ ВЫБИРАЙТЕ

Хочет создать ресурсно-ориентированный сервис по HTTP. НЕ ВЫБИРАЙТЕ Выбрать

Ваш проект является приложением MVC и требует некоторой функциональности через HTTP. НЕ ВЫБИРАЙТЕ Выбрать

Вы хотите создавать только HTTP / RESTful сервисы НЕ ВЫБИРАЙТЕ Выбрать

КЛЮЧЕВАЯ РАЗНИЦА

  • WCF предлагает запрос-ответ, односторонний или дуплексный, тогда как веб-API по умолчанию является только запросом-ответом.
  • WCF используется для разработки сервисов на основе SOAP, а веб-API — для сервисов на основе SOAP и RESTful.
  • WCF не предлагает никакой поддержки функций MVC, тогда как Web API поддерживает функции MVC.
  • WCF поддерживает HTTP, UDP и пользовательский транспортный протокол, тогда как Web API поддерживает только протокол HTTP.
  • WCF предлагает поддержку текстового, MTOM и двоичного кодирования, тогда как Web API поддерживает формат кодировки UTF-8.
  • WCF поддерживает очереди сообщений, безопасность сообщений, двустороннюю связь, транзакции, тогда как Web API не поддерживает.
  • WCF означает Windows Communication Foundation, а API — интерфейс прикладных программ.