È possibile condividere la differenza effettiva tra il servizio WCF e ASP.NET Web Api? In quale scenario è necessario utilizzare il servizio WCF e ASP.NET Web Api.Servizio WCF vs ASP.NET Web Api
risposta
Da http://mattmilner.com/Milner/Blog/post/2012/02/28/WebAPI-or-WCF.aspx, un grande post su questo argomento: "WCF resta il quadro per i servizi di costruzione in cui ti preoccupi della flessibilità del trasporto Web API è la struttura per i servizi di costruzione ti interessa di HTTP. "
WCF Web API è la prossima generazione del framework di servizio di Microsoft.
I servizi WCF sono stati originariamente progettati con un'architettura di canale che consente la personalizzazione dei protocolli e dei trasporti utilizzati per comunicare tra i sistemi. Ciò offre all'architetto/sviluppatore una grande flessibilità nella creazione di applicazioni interoperabili, ma al costo della complessità. La configurazione di WCF non è mai stata semplice (IMO).
Il caso di utilizzo più comune (IMO), sta utilizzando i servizi WCF per fornire supporto alle applicazioni Web tramite richieste Ajax dal browser per ulteriori dati. Inoltre, dal momento in cui WCF è stato inizialmente introdotto, è diventato comune per le applicazioni fornire un'API utilizzando http.
Poiché, di questo, la nuova API Web WCF è un tentativo di semplificare l'infrastruttura del servizio e assumere il protocollo di trasporto http.
Se si sta creando una nuova applicazione Web, utilizzare la nuova API Web. Vorrei solo utilizzare i servizi WCF se avessi bisogno di comunicare con un altro sistema usando qualcosa di diverso da http.
WCF Channel Architecture
http://msdn.microsoft.com/en-us/library/ms729840.aspx
WCF API Web
Craig ha praticamente colpito l'unghia in testa qui. WebAPI = qualsiasi cosa abbia a che fare con i servizi POX/JSON. WCF fa tutto il resto incluso IPC/NetTCP/SOAP/RPC. – leon
Web Service
Si basa su SOAP e restituire 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 restituire 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.
WCF Resto
Per utilizzare WCF come servizio WCF Resto devi 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.file SVC Il passaggio dei dati tramite parametri mediante WebGet richiede la configurazione. UriTemplate deve essere specificato Supporta i formati di dati XML, JSON e ATOM.
Web API
Questo è il nuovo framework per la creazione di servizi HTTP con il modo facile e semplice. Web API è open source una piattaforma ideale per creare servizi REST-ful su .NET Framework. Diversamente dal servizio di ripristino WCF, utilizza le funzionalità complete di HTTP (come URI, intestazioni di richiesta/risposta, memorizzazione nella cache, controllo delle versioni, vari formati di contenuto) Supporta anche le funzioni MVC come routing, controller, risultati di azioni, filtro, raccoglitori di modelli , Iniezione del contenitore o dipendenza della IOC, 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
Scegliere WCF quando si vuole creare un servizio che dovrebbe supportare scenari speciali come un messaggistica modo, code di messaggi, la comunicazione duplex ecc Scegli WCF quando si desidera creare un servizio che possa 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.
- 1. WCF vs API Web ASP .Net
- 2. Servizio dominio vs servizio WCF?
- 3. Autenticazione ASP.NET web app con servizio WCF
- 4. Servizio WCF vs servizio Windows
- 5. Servizio WCF vs servizio Windows
- 6. metodi pagina ASP.NET vs servizio web
- 7. WCF vs WEb API vs servizi Web per il nuovo sito di e-commerce
- 8. Servizio hosting IIS WCF vs servizio Windows
- 9. Qual è la differenza tra Asp.Net Web API e il servizio WCF?
- 10. Un servizio WCF è un servizio Web?
- 11. API Web ASP.NET, rilevamento servizi Web e creazione client
- 12. WCF v.s. eredità ASP.Net Web Services
- 13. API Web ASP.NET ActionFilter esempio
- 14. Autenticazione API Web ASP.NET
- 15. API Web ASP.NET CacheControl
- 16. Come rendere disponibile il servizio Web ASP.NET Web API nella rete locale
- 17. API Web ASP.NET in IE
- 18. MessageHandlers vs Filters in asp.net mvc web api project
- 19. REST Servizio WCF e sessione in ASP.NET
- 20. Servizio WCF con l'applicazione asp.net mvc
- 21. Servizio Web SAP da .NET via WCF
- 22. C# Server tradizionale con servizio Web WCF
- 23. Test di un servizio Web WCF
- 24. Primo contratto XSD - Servizio Web sapone WCF
- 25. Compressione GZip nel servizio Web WCF
- 26. Conversione da ASMX al servizio Web WCF
- 27. consumando servizio web WCF dall'applicazione Android?
- 28. Test di un servizio Web WCF?
- 29. API API RESTful vs Web Service
- 30. ASP.NET Web API Architettura Suggerimenti/Feedback
possibile duplicato: http://stackoverflow.com/questions/9348639/wcf-vs-asp-net-web-api –