Різниця між WCF і Web API

Що таке WCF?

WCF означає Windows Комунікація Foundation. Він використовується для створення розподілених і сумісних додатків. WCF є ефективною платформою для розробки сервіс-орієнтованих додатків. Це дозволяє розробникам створювати безпечні, надійні та високопрофільні рішення для розробки, які можна інтегрувати між платформами та взаємодіяти з існуючими інвестиціями.

Що таке Web API?

ASP.NET Web API — це структура, яка дозволяє створювати служби HTTP для браузерів і мобільних пристроїв. Це ідеальна платформа для розвитку Програми RESTful на ASP .NET Framework.

Веб-інтерфейс ASP.NET — це розширювана структура для створення служб на основі HTTP, до яких можна отримати доступ у різних програмах на різних платформах, таких як Інтернет, Windows, мобільні пристрої тощо.

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

  • WCF пропонує запит-відповідь, односторонній або дуплексний режим, тоді як Web API за замовчуванням лише запит-відповідь.
  • WCF використовується для розробки служб на основі SOAP, тоді як Web API використовується як для служб на основі SOAP, так і для служб RESTful.
  • WCF не пропонує жодної підтримки функцій MVC, тоді як Web API підтримує функції MVC.
  • WCF підтримує HTTP, UDP і спеціальний транспортний протокол, тоді як Web API підтримує лише протокол HTTP.
  • WCF пропонує підтримку кодування Text, MTOM і Binary, тоді як 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, іменований канал.
  • Сервіс WCF корисний, якщо ви хочете створити сервіс із такими стандартами, як безпека обміну повідомленнями транзакцій і надійна безпека повідомлень.
  • З 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. Він також доступний як окреме завантаження.
Підтримка функцій MVC WCF не підтримує такі функції MVC, як контролери, маршрутизація, фільтр, результати аукціону тощо. ASP.NET Web API підтримує такі функції MVC, як маршрутизація, контролери, результати, фільтр, дії тощо.
Підтримка кодування Текст, MTOM і двійковий код. Стандартна підтримка формату кодування UTF-8.
Підтримка Підтримка HTTP, UDP і спеціального транспортного протоколу. Підтримує тільки протокол HTTP
Використання моделі Модель програмування на основі атрибутів користувача. Зіставляє дієслова HTTP на методи
конфігурація Використовує web.config і атрибути для налаштування класу HttpConfiguration, але не в службі web.config. Web API можна налаштувати за допомогою служби web.config.
Сервіси RESTful Він пропонує підтримку для служби RESTFUL, але з обмеженнями. Ідеально підходить для створення СПІХНИХ послуг.

Вирішальний фактор для WCF проти Web API

Нижче наведено короткий контрольний список, який допоможе визначити, чи використовувати WCF чи Web API

сценарій WCF 4.5 Веб-інтерфейс ASP.NET
Потрібна підтримка таких сценаріїв, як черги повідомлень, наскрізна безпека повідомлень, дуплексний зв’язок, розподілені транзакції тощо. Select НЕ вибирайте
Якщо у вас уже є робочі служби WCF і ви бажаєте додатково додати підтримку HTTP. Select НЕ вибирайте
Одна база коду для підтримки кінцевих точок SOAP і RESTful. Select НЕ вибирайте
Хоче створити ресурсно-орієнтовану службу через HTTP. НЕ вибирайте Select
Ваш проект є програмою MVC і потребує деяких функціональних можливостей через HTTP. НЕ вибирайте Select
Ви хочете створювати лише служби HTTP / RESTful НЕ вибирайте Select