Web Service
- Реалізований на базі SOAP технології і повертає дані в форматі XML.
- Підтримує лише протокол HTTP.
- Це не “open source” рішення але можна використовувати на будь якому клієнті, який вміє працювати з xml.
- Може працювати лише на IIS сервері.
- Також реалізований на базі SOAP і повертає дані в XML форматі.
- Це вдосконалений web service(ASMX) що підтримує різні протоколи, такі як TCP, HTTP, HTTPS, Named Pipes, MSMQ.
- Основна проблема WCF, це тяжкі і складні налаштування.
- Це не “open source” рішення але можна використовувати на будь якому клієнті який вміє працювати з xml.
- Може працювати лише на IIS сервері.
- Для використання WCF як WCF Rest сервіс, вам потрібно увімкнути webHttpBindings.
- Він підтримує HTTP GET і POST запити, як [WebGet] і [WebInvoke] атрибути (відповідно).
- Для того щоб увімкнути інші HTTP методи, ви маєте виконати потрібні конфігурації на IIS щоб приймати запити що вокористовують .svc файли.
- Для передачі даних через параметри WebGet, його потрібно налаштувати. UriTemplate повинен бути визначеним
- Він підтримує XML, JSON і ATOM формати даних.
- Це нова платформа для створення HTTP сервісів, легким і швидким способом.
- Web API є “open source” (з відкритим кодом) і являється ідеальною платформою для створення REST-ful сервісів на .NET Framework.
- На відміну від WCF Rest сервісів, вона повністю використовує можливості HTTP (такі як URIs, request/response заголовки, кешування, підтримка версій, різні типи форматів)
- Також підтримує MVC особливості, такі як “routing”, “controllers”, “action results”, “filter”, “model binders”, “IOC container” або “dependency injection”, “unit testing” що робить його більш простішим і надійнішим.
- Може працювати лише на IIS сервері.
- Це легка архітектура, що сприятливо впливає на пристрої з обмеженою пропускною здатністю, такі як smart phone і т.д.
- Відповідь форматується у Web API за допомогою MediaTypeFormatter і підтримує JSON, XML або будь який інший формат який ви можете додати як MediaTypeFormatter.
- Обирайте WCF коли ви хочете створити сервіс який підтримує спеціальні сценарії, такі один із способів обміну повідомленнями, черги повідомлень, дуплексний зв’язок і т.д.
- Обирайте WCF коли ви хочете створити сервіс що може використовувати швидкі протоколи, такі як TCP, Named Pipes або навіть UDP (in WCF 4.5), і також якщо ви хочете підтримку HTTP, коли всі інші протоколи недоступні.
- Обирайте Web API коли ви хочете створити, ресурсно-орієнтовані сервіс на HTTP тоді ви зможете використовувати всі можливості протоколу HTTP (такі як URI, request/response заголовки, кешування, підтримка версій, різні типи форматів).
- Обирайте Web API коли ви хочете щоб ваш сервіс підтримував на широкому колі клієнтів включаючи бараузери, мобільні телефони, iphone і таблеток.
http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and-WCF-REST-and-Web-Service.html
0 коментарів:
Дописати коментар