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 WCF?
- What is Web API?
- Why use WCF?
- Why used Web API?
- Characteristics of WCF
- Characteristics of Web API
- WCF Vs Web Service
- The deciding factor for WCF vs. Web API
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?
Вот преимущества / преимущества использования WCF:
- WCF является идеальным вариантом, если вы планируете использовать .NET Framework 3.5.
- WCF поддерживает несколько протоколов, таких как HTTP, TCP, именованный канал.
- Служба WCF полезна, если вы хотите создать службу с такими стандартами, как безопасность обмена транзакциями и надежная защита сообщений.
- Вы можете использовать шаблоны запроса-ответа, одностороннего и дуплексного обмена сообщениями с WCF.
Почему используется веб-API?
Вот преимущества и преимущества использования веб-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 — интерфейс прикладных программ.