Разлика между WCF и Web API

Какво е WCF?

WCF означава Windows общуване Foundation. Използва се за създаване на разпределени и оперативно съвместими приложения. WCF е ефективна платформа за разработване на ориентирани към услуги приложения. Той позволява на разработчиците да създават сигурни, надеждни и високопрофилни решения за разработка, които могат да бъдат интегрирани в различни платформи и да взаимодействат със съществуващи инвестиции.

Какво е Web API?

ASP.NET Web API е рамка, която ви позволява да създавате HTTP услуги за браузъри и мобилни устройства. Това е идеална платформа за развитие RESTful приложения на ASP .NET Framework.

ASP.NET Web API е разширяема рамка за изграждане на HTTP базирани услуги, които могат да бъдат достъпни в различни приложения на различни платформи като уеб, Windows, мобилни устройства и др.

КЛЮЧОВА РАЗЛИКА

  • WCF предлага заявка-отговор, еднопосочен или дуплекс, докато Web API по подразбиране е само заявка-отговор.
  • WCF се използва за разработване на SOAP-базирани услуги, докато Web 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 общуване Foundation докато API означава интерфейс на приложна програма.

Защо да използвате WCF?

Въпроси за препълване на стека ASP.net web API срещу WCF
Въпроси за препълване на стека ASP.net web API срещу WCF

Ето плюсовете/ползите от използването на WCF:

  • WCF е идеален вариант, ако планирате да използвате .NET Framework 3.5.
  • WCF поддържа множество протоколи като HTTP, TCP, Named pipe.
  • Услугата WCF е полезна, ако искате да изградите услуга със стандарти като сигурност на транзакциите за съобщения и надеждна сигурност на съобщенията.
  • Можете да използвате модели за обмен на съобщения Request-Reply, One Way и Duplex с WCF.

Защо се използва Web API?

Google Trends WCF срещу уеб API на ASP.Net

Google Trends WCF срещу уеб API на ASP.Net

Ето плюсовете/ползите от използването на уеб API:

  • Уеб API осигурява поддръжка за базирани на конвенцията CRUD действия, тъй като работи с HTTP глаголи (GET, PUT, POST и DELETE)
  • Лесно е да се дефинира, изложи и консумира по REST-ful начин.
  • ASP.Net Web API ви позволява да покажете вашите данни и услуги на различни устройства.
  • Уеб API е с отворен код, така че е идеален вариант за създаване на RESTful услуги върху платформата .NET.
  • Позволява ви мащабируема, отделена разработка на уеб услуга, която може да се споделя и използва от други разработчици за достъп до уеб услуги.
  • Също така е полезно да се изграждат прости HTTP услуги, които не са базирани на SOAP.

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

  • Силно конфигурируеми транспорти
  • По-добри опции за сериализация
  • Добре интегриран с IIS
  • Лесен за самостоятелно хостване
  • Много богати метаданни
  • Сложен модел за публикация
  • Богати договори за данни

Характеристики на Web API

  • Тясно свързан с HTTP
  • Лесен за тестване
  • Предлага поддръжка за договаряне на съдържание
  • Позволява форматиране с отворен край
  • Няма зависимост от платформа
  • Солидна ориентация към ресурсите
  • Опит от ниво 2 със зараждаща се хипермедийна поддръжка

WCF срещу уеб услуга

WCF срещу уеб услуга

Параметър WCF Уеб API
Шаблон за обмен на съобщения Поискайте отговор, еднопосочен или дуплекс. По подразбиране само заявка-отговор. Въпреки това, допълнителен модел на съобщение може да се поддържа с интеграция на уеб сокети.
Уеб Хостинг Хостинг на IIS, самостоятелно хостване и услуги за активиране на работи. Самостоятелно хостване и IIS хостинг.
Open Source Това не е софтуер с отворен код. Доставя се с .Net framework. Предлага се и като отделно изтегляне.
Поддръжка на MVC функции WCF не предоставя никаква поддръжка за MVC функции като контролери, маршрутизиране, филтър, резултати от търгове и др. ASP.NET Web API поддържа MVC функции като маршрутизиране, контролери, резултати, филтър, действие и др.
Поддръжка на кодиране Текст, MTOM и двоичен. Поддръжка по подразбиране за формат на кодиране UTF-8.
Подкрепа за Поддръжка за HTTP, UDP и персонализиран транспортен протокол. Поддържа само HTTP протокол
Използване на модел Модел на програмиране, базиран на потребителски атрибути. Картографира HTTP глаголите към методите
Конфигурация Използва web.config и атрибути за конфигуриране на клас HttpConfiguration, но не и в услугата web.config. Уеб API може да се конфигурира с помощта на услугата web.config.
ОТДЪЛЖИТЕЛНИ услуги Предлага поддръжка за услуга RESTFUL, но с ограничения. Идеален за изграждане на СПОКОЙНИ услуги.

Решаващият фактор за WCF срещу Web API

Следва бърз списък за проверка, който да ви помогне да определите дали да използвате WCF или Web API

Сценарий WCF 4.5 ASP.NET Web API
Изисква поддръжка за сценарии като опашки от съобщения, сигурност на съобщения от край до край, дуплексна комуникация, разпределени транзакции и др. Изберете НЕ избирайте
Когато вече имате съществуващи работещи WCF услуги и искате допълнително да добавите HTTP поддръжка. Изберете НЕ избирайте
Една кодова база за осигуряване на поддръжка както на SOAP, така и на RESTful крайни точки. Изберете НЕ избирайте
Иска да създаде услуга, ориентирана към ресурси през HTTP. НЕ избирайте Изберете
Вашият проект е MVC приложение и иска някаква функционалност през HTTP. НЕ избирайте Изберете
Искате да изградите само HTTP / RESTful услуги НЕ избирайте Изберете

Обобщете тази публикация с: