Compartir a través de


WCF y API web de ASP.NET

WCF es el modelo de programación unificado de Microsoft para crear aplicaciones orientadas a servicios. Permite a los desarrolladores crear soluciones seguras, confiables y transaccionadas que se integran entre plataformas e interoperan con las inversiones existentes. ASP.NET API web es un marco que facilita la compilación de servicios HTTP que llegan a una amplia gama de clientes, incluidos exploradores y dispositivos móviles. ASP.NET WEB API es una plataforma ideal para compilar aplicaciones RESTful en .NET Framework. En este tema se presentan algunas instrucciones para ayudarle a decidir qué tecnología se adapte mejor a sus necesidades.

Elección de la tecnología que se va a usar

En la tabla siguiente se describen las principales características de cada tecnología.

WCF (Windows Communication Foundation) ASP.NET Web API
Habilita la creación de servicios que admiten varios protocolos de transporte (HTTP, TCP, UDP y transportes personalizados) y permite cambiar entre ellos. Sólo HTTP. Modelo de programación de primera clase para HTTP. Más adecuado para el acceso desde varios exploradores, dispositivos móviles, etc. habilitando el alcance amplio.
Habilita la creación de servicios que admiten varias codificaciones (Text, MTOM y Binary) del mismo tipo de mensaje y permite cambiar entre ellos. Habilita la creación de API web que admiten una amplia variedad de tipos de medios, como XML, JSON, etc.
Admite la creación de servicios con estándares WS-* como Reliable Messaging, Transactions, Message Security. Usa formatos y protocolos básicos, como HTTP, WebSockets, SSL, JSON y XML. No hay compatibilidad con protocolos de nivel superior, como Reliable Messaging o Transactions.
Admite patrones de intercambio de mensajes Request-Reply, One Way y Duplex. HTTP es solicitud/respuesta, pero se pueden admitir patrones adicionales a través de la integración de SignalR y WebSockets.
Los servicios SOAP de WCF se pueden describir en WSDL, lo que permite a las herramientas automatizadas generar servidores proxy de cliente incluso para servicios con esquemas complejos. Hay una variedad de maneras de describir una API web que va desde la página de ayuda HTML generada automáticamente que describe fragmentos de código a metadatos estructurados para las API integradas de OData.
Se distribuye con el .NET Framework. Se incluye con .NET Framework, pero es de código abierto y también está disponible fuera de banda como descarga independiente.

Use WCF para crear servicios web confiables y seguros accesibles a través de una variedad de transportes. Use ASP.NET API web para crear servicios basados en HTTP accesibles desde una amplia variedad de clientes. Use ASP.NET API web si va a crear y diseñar nuevos servicios de estilo REST. Aunque WCF proporciona cierta compatibilidad con la escritura de servicios de estilo REST, la compatibilidad con REST en ASP.NET API web es más completa y todas las mejoras futuras de características rest se realizarán en ASP.NET API web. Si tiene un servicio WCF existente y desea exponer puntos de conexión REST adicionales, use WCF y WebHttpBinding.

Consulte también