Differenza tra WCF, Web API, WCF REST e servizio Web?




web-services asp.net-web-api (2)

Il framework .Net ha una serie di tecnologie che ti permettono di creare servizi HTTP come Web Service, WCF e ora Web API. Ci sono molti articoli su Internet che potrebbero descrivere a chi dovresti usare. Ora un giorno, hai molte opzioni per creare servizi HTTP su .NET framework. qui puoi leggere di più:

WCF vs API Web ASP.NET

Servizio WCF vs ASP.NET Web Api

Qual è la differenza tra WCF e Web API e WCF REST e Web Service? WCF è davvero così complicato da dover utilizzare webapi? Se WebApi può fare tutto il lavoro e non trarre vantaggio dagli altri?


Il framework .Net ha una serie di tecnologie che ti permettono di creare servizi HTTP come Web Service, WCF e ora Web API. Ci sono molti articoli su Internet che potrebbero descrivere a chi dovresti usare.

Servizio web

  • È basato su SOAP e restituisce i dati in formato XML.
  • Supporta solo il protocollo HTTP.
  • Non è open source ma può essere utilizzato da qualsiasi client che capisca xml.
  • Può essere ospitato solo su IIS.

WCF

  • Si basa anche su SOAP e restituisce i dati in formato XML.
  • È l'evoluzione del servizio web (ASMX) e supporta vari protocolli come TCP, HTTP, HTTPS, Named Pipes, MSMQ.
  • Il problema principale con WCF è la sua noiosa ed estesa configurazione.
  • Non è open source ma può essere utilizzato da qualsiasi client che capisca xml.
  • Può essere ospitato nell'applicazione o su IIS o utilizzando il servizio finestra.

Riposo WCF

  • Per utilizzare WCF come servizio di ripristino WCF è necessario abilitare webHttpBindings.
  • Supporta i verbi HTTP GET e POST rispettivamente con gli attributi [WebGet] e [WebInvoke].
  • Per abilitare altri verbi HTTP è necessario eseguire alcune configurazioni in IIS per accettare la richiesta di quel particolare verbo sui file .svc
  • Il passaggio dei dati tramite i parametri tramite WebGet richiede la configurazione. L'UriTemplate deve essere specificato.
  • Supporta i formati di dati XML, JSON e ATOM.

API Web

  • Questo è il nuovo framework per la creazione di servizi HTTP in modo facile e semplice.
  • L'API Web è open source una piattaforma ideale per la creazione di servizi REST su .NET Framework.
  • A differenza del servizio di ripristino WCF, utilizza la funzionalità completa di HTTP (come URI, intestazioni di richiesta / risposta, memorizzazione nella cache, controllo delle versioni, vari formati di contenuto)
  • Supporta inoltre le funzioni MVC come routing, controller, risultati di azioni, filtro, raccoglitori di modelli, contenitore di IOC o dipendenza dall'iniezione, test dell'unità che lo rende più semplice e robusto.
  • Può essere ospitato nell'applicazione o su IIS.
  • È un'architettura leggera e adatta ai dispositivi che hanno una larghezza di banda limitata come gli smartphone.
  • Le risposte sono formattate da MediaTypeFormatter dell'API Web in JSON, XML o in qualsiasi formato che si desidera aggiungere come MediaTypeFormatter.

A chi scegliere tra WCF o WEB API

  • Scegli WCF quando vuoi creare un servizio che supporti scenari speciali come la messaggistica unidirezionale, le code di messaggi, la comunicazione duplex ecc.
  • Scegliere WCF quando si desidera creare un servizio che può utilizzare canali di trasporto veloci quando disponibili, come TCP, Named Pipes o forse anche UDP (in WCF 4.5) e si desidera anche supportare HTTP quando tutti gli altri canali di trasporto non sono disponibili.
  • Scegli API Web quando desideri creare servizi orientati alle risorse su HTTP che possano utilizzare le funzionalità complete di HTTP (come URI, intestazioni di richiesta / risposta, memorizzazione nella cache, controllo delle versioni, vari formati di contenuto).
  • Scegli API Web quando desideri esporre il tuo servizio a una vasta gamma di client, inclusi browser, cellulari, iphone e tablet.

Riferimento: http://www.dotnettricks.com
Autore: Shailendra Chauhan





wcf-web-api