¿Puede alguien compartir la diferencia real entre WCF Service y ASP.NET Web Api? En cuyo caso tenemos que usar WCF Service y ASP.NET Web Api.WCF Service vs ASP.NET Web Api
Respuesta
De http://mattmilner.com/Milner/Blog/post/2012/02/28/WebAPI-or-WCF.aspx, un gran post sobre este tema: "WCF sigue siendo el marco de los servicios de edificio donde usted se preocupa por la flexibilidad del transporte. La API web es el marco para la construcción de servicios si te importa HTTP ".
WCF Web API es la próxima generación del marco de servicios de Microsoft.
WCF Services se diseñaron originalmente con una arquitectura de canal que permite la personalización de los protocolos y transportes utilizados para la comunicación entre sistemas. Si bien esto le da al arquitecto/desarrollador una gran flexibilidad en la construcción de aplicaciones interoperables, tiene el costo de la complejidad. La configuración de WCF nunca ha sido simple (IMO).
El caso de uso más frecuente (IMO) es el uso de servicios WCF para proporcionar soporte a aplicaciones web a través de solicitudes ajax del navegador para obtener datos adicionales. Además, desde el momento en que se introdujo WCF originalmente, se ha vuelto común que las aplicaciones proporcionen una API usando http.
Debido a esto, la nueva WCF Web API es un intento de simplificar la infraestructura del servicio y asumir el protocolo de transporte http.
Si está construyendo una nueva aplicación web, usaría la nueva API Web. Solo vería el uso de los servicios de WCF si tuviera que comunicarme con otro sistema usando algo que no sea http.
WCF Canal Arquitectura
http://msdn.microsoft.com/en-us/library/ms729840.aspx
API Web WCF
Craig casi golpea el clavo en la cabeza aquí. WebAPI = todo lo que tiene que ver con los servicios de POX/JSON. WCF hace todo lo demás, incluyendo IPC/NetTCP/SOAP/RPC. – leon
servicio web
Está basado en SOAP y datos de retorno en forma XML. Solo es compatible con el protocolo HTTP. No es de código abierto, pero puede ser consumido por cualquier cliente que entienda xml. Puede alojarse solo en IIS.
WCF
También se basa en SOAP y datos de retorno en forma XML. Es la evolución del servicio web (ASMX) y es compatible con varios protocolos como TCP, HTTP, HTTPS, Canalizaciones con nombre, MSMQ. El principal problema con WCF es su configuración tediosa y extensa. No es de código abierto, pero puede ser consumido por cualquier cliente que entienda xml. Se puede hospedar con en la aplicación o en IIS o usando el servicio de ventana.
WCF Resto
Para usar WCF como servicio WCF resto tiene que habilitar webHttpBindings. Admite verbos HTTP GET y POST según los atributos [WebGet] y [WebInvoke], respectivamente. Para habilitar otros verbos HTTP, debe realizar alguna configuración en IIS para aceptar la solicitud de ese verbo en particular.svc files Pasar datos a través de parámetros usando un WebGet necesita configuración. La UriTemplate debe especificarse Admite el formato de datos XML, JSON y ATOM.
Web API
Este es el nuevo marco para la construcción de servicios HTTP con forma fácil y sencilla. Web API es de código abierto una plataforma ideal para crear servicios REST-ful sobre .NET Framework. A diferencia del servicio WCF Rest, utiliza todas las características de HTTP (como URI, encabezados de solicitud/respuesta, almacenamiento en memoria caché, control de versiones, varios formatos de contenido) También admite las características MVC como enrutamiento, controladores, resultados de acciones, filtros, carpetas modelo , Contenedor IOC o inyección de dependencia, pruebas unitarias que lo hacen más simple y robusto. Puede alojarse en la aplicación o en IIS. Es una arquitectura liviana y buena para dispositivos que tienen un ancho de banda limitado como teléfonos inteligentes. Las respuestas son formateadas por MediaTypeFormatter de Web API en JSON, XML o cualquier formato que desee agregar como MediaTypeFormatter.
A quién elegir entre WCF o API WEB
Elija WCF cuando se quiere crear un servicio que debería soportar escenarios especiales, tales como una forma de mensajería, colas de mensajes, comunicación dúplex etc. Elija WCF cuando desea crear un servicio que pueda usar canales de transporte rápidos cuando esté disponible, como TCP, Canalizaciones con nombre, o tal vez incluso UDP (en WCF 4.5), y también desea admitir HTTP cuando los demás canales de transporte no estén disponibles. Elija Web API cuando desee crear servicios orientados a recursos a través de HTTP que puedan usar todas las funciones de HTTP (como URI, encabezados de solicitud/respuesta, almacenamiento en memoria caché, control de versiones, varios formatos de contenido). Elija Web API cuando desee exponer su servicio a una amplia gama de clientes, incluidos navegadores, teléfonos móviles, iphone y tabletas.
- 1. WCF Web API vs servicios web ASP.NET MVC JSON
- 2. WCF Service vs Windows Service
- 3. WCF Web Api vs WebHttpBinding
- 4. WCF vs ASP .Net Web API
- 5. wcf json web service
- 6. access HttpContext.Current from WCF Web Service
- 7. Web hosting WAS vs Windows Service
- 8. WCF Web Service Client utilizando un CookieContainer
- 9. Conversión de ASMX a WCF Web Service
- 10. Service ASP.NET vs capas de repositorio
- 11. WCF Servicio Web o API
- 12. Uso de Ninject WCF Extension con WCF Web Service
- 13. Difference asp.net web service and Ihttphandler
- 14. Azure vs WCF vs ASP.NET vs ... ¿Cómo encaja?
- 15. WCF Service netTCPbinding
- 16. C# WCF Web API 4 MaxReceivedMessageSize
- 17. WCF v.s. legado ASP.Net Servicios Web
- 18. Asp.Net Web Api - ModelBinders
- 19. ASP.NET Web API ActionFilter ejemplo
- 20. Enrutamiento Api Web ASP.NET (IIS vs Self Hosted)
- 21. Web Service wrapper
- 22. ASP.net Web Services versus WCF
- 23. WCF Service Client Lifetime
- 24. WCF Service Throttling
- 25. WCF Service and Threading
- 26. WCF Service Throttling
- 27. WCF Service authorization patterns
- 28. WCF Service in Separate Assembly
- 29. Publicar WCF Service (o ASP.NET Web Application) usando la línea de comando
- 30. Compartiendo Enum con WCF Service
posible duplicar: http://stackoverflow.com/questions/9348639/wcf-vs-asp-net-web-api –