- Detalles
¿Qué es WCF?
WCF son las siglas de Windows Communication Foundation. Se utiliza para crear una aplicación distribuida e interoperable. WCF es una plataforma eficaz para desarrollar aplicaciones orientadas a servicios. Permite a los desarrolladores crear soluciones de desarrollo seguras, confiables y de alto perfil que se pueden integrar en todas las plataformas e interactuar con las inversiones existentes.
En este tutorial, aprenderá
¿Qué es una API web?
ASP.NET Web API es un marco que le permite crear servicios HTTP para navegadores y dispositivos móviles. Es una plataforma ideal para desarrollar aplicaciones RESTful en ASP .NET Framework.
ASP.NET Web API es un marco extenso para construir servicios basados en HTTP a los que se puede acceder en diferentes aplicaciones en diferentes plataformas como web, Windows, dispositivos móviles, etc.
EFECTO CLAVE
- WCF ofrece solicitud de respuesta, unidireccional o dúplex y es una API web por solicitud y una respuesta predeterminada.
- WCF se usa para desarrollar servicios basados en SOAP, pero las API web se usan para servicios RESTful y basados en SOAP.
- WCF no ofrece soporte para las funciones de MVC, pero la API web es compatible con las funciones de MVC.
- WCF admite HTTP, UDP y el protocolo de transporte personalizado, pero Web Web solo admite el protocolo HTTP.
- WCF proporciona compatibilidad con codificación binaria, MTOM y texto, pero la API web admite el formato de codificación UTF-8.
- WCF admite colas de mensajes, seguridad de mensajes, comunicación dúplex y transacciones, pero no admite API web.
- WCF son las siglas de Windows Communication Foundation, pero API son las siglas de Application Program Interface.
¿Por qué usar WCF?
Estos son los pros y los contras de usar WCF:
- WCF es una excelente opción si planea usar .NET Framework 3.5.
- WCF admite múltiples protocolos como HTTP, TCP, canalización designada.
- El servicio WCF es útil si desea crear un servicio con estándares como seguridad de mensajería de transacciones y seguridad de mensajes de confianza.
- Puede usar los patrones de intercambio de mensajes de solicitud-respuesta, unidireccional y dúplex con WCF.
¿Por qué utilizar una API web?
Estos son los pros y los contras de usar una API web:
- La API web proporciona soporte para acciones CRUD basadas en convenciones, ya que funciona con verbos HTTP (GET, PUT, POST y DELETE)
- Es fácil de definir, exponer y consumir de forma REST-ful.
- ASP.Net Web API le permite mostrar sus datos y servicios para múltiples dispositivos.
- La API web es de código abierto, por lo que es una excelente opción para crear servicios RESTful en la plataforma .NET.
- Le permite desarrollar un servicio web escalable y desacoplado que otros desarrolladores pueden compartir y utilizar para acceder a servicios web.
- También es útil crear servicios HTTP sencillos que no estén basados en SOAP.
Características de WCF
- Comportamiento altamente configurado
- Mejores opciones para capas
- Bien integrado con IIS
- Fácil de autohospedar
- Metadatos muy ricos
- Modelo complejo para publicación
- Contratos ricos en datos
Características de la API web
- Estrictamente acoplado con HTTP
- Fácil de probar
- Ofrece soporte para la negociación de contenido.
- Permite el formato abierto
- No depender de una plataforma
- Orientación sólida de recursos
- Experiencia de nivel 2 con soporte hipermedia incipiente
Servicio web WCF vs.
Parámetro | WCF | API web |
---|---|---|
Patrón de intercambio de mensajes | Solicite una respuesta, unidireccional o dúplex. | De forma predeterminada, solo respuesta de la aplicación. Sin embargo, se puede admitir un patrón de socket adicional con la integración de socket web. |
Hospedaje | Servicios de hospedaje IIS, autohospedaje y trabajos. | Autohospedaje y hospedaje IIS. |
Fuente abierta | No es un software de código abierto. | Se envía con .Net framework. También está disponible como descarga independiente. |
Soporte para funciones MVC | WCF no proporciona ningún soporte para las funciones de MVC como controladores, enrutamiento, filtro, resultados de subasta, etc. | ASP.NET Web API admite características MVC como enrutamiento, controladores, resultados, filtro, acción, etc. |
Soporte de codificación | Texto, MTOM y binario. | Soporte predeterminado para el formato de codificación UTF-8. |
Apoyo para | Soporte para HTTP, UDP y protocolo de transporte personalizado. | Solo es compatible con el protocolo HTTP. |
Usa el modelo | Modelo de registro basado en usuarios. | Mapas de verbos HTTP sobre métodos |
Configuración | Web.config y los atributos se utilizan para configurar la clase HttpConfiguration pero no en el servicio web.config. | La API web se puede configurar mediante el servicio web.config. |
Servicios RESTful | Proporciona soporte para el servicio RESTFUL pero con limitaciones. | Muy apto para la construcción de servicios RESTful. |
El factor decisivo para WCF frente a API web
La siguiente es una lista de verificación rápida para ayudar a decidir si usar WCF o API web
Caso | WCF 4.5 | API web ASP.NET |
---|---|---|
Situaciones tales como colas de mensajes, seguridad de mensajes de un extremo a otro, comunicación dúplex, transacciones de distribución, etc. necesitan soporte. | Escoger | NO seleccione |
Cuando ya tiene servicios WCF en funcionamiento y también desea agregar compatibilidad con HTTP. | Escoger | NO seleccione |
Una base de código para brindar soporte para terminales SOAP y RESTful. | Escoger | NO seleccione |
Intentando crear un servicio orientado a recursos a través de HTTP. | NO seleccione | Escoger |
Su proyecto es una aplicación MVC y requiere alguna funcionalidad a través de HTTP. | NO seleccione | Escoger |
Todo lo que necesita hacer es crear servicios HTTP / RESTful | NO seleccione | Escoger |