En WCF hay varios tipos diferentes de enlaces basados en HTTP:
¿Cuáles son las diferencias entre estos 3?
En particular, ¿cuáles son las diferencias en términos de características / rendimiento y compatibilidad?
En WCF hay varios tipos diferentes de enlaces basados en HTTP:
¿Cuáles son las diferencias entre estos 3?
En particular, ¿cuáles son las diferencias en términos de características / rendimiento y compatibilidad?
Respuestas:
Estás comparando manzanas con naranjas aquí:
webHttpBinding es el enlace de estilo REST, donde básicamente solo presionas una URL y obtienes una gran cantidad de XML o JSON del servicio web
basicHttpBinding y wsHttpBinding son dos enlaces basados en SOAP que son bastante diferentes de REST. SOAP tiene la ventaja de tener WSDL y XSD para describir el servicio, sus métodos y los datos que se transmiten con gran detalle (REST aún no tiene nada de eso). Por otro lado, no puede simplemente navegar a un punto final wsHttpBinding con su navegador y mirar XML; tiene que usar un cliente SOAP, por ejemplo, WcfTestClient o su propia aplicación.
Por lo tanto, su primera decisión debe ser: REST vs. SOAP (o puede exponer ambos tipos de puntos finales de su servicio, eso también es posible).
Luego, entre basicHttpBinding y wsHttpBinding, las diferencias son las siguientes:
basicHttpBinding es el enlace muy básico: SOAP 1.1, no mucho en términos de seguridad, no mucho más en términos de características, pero compatible con casi cualquier cliente SOAP que existe -> ideal para la interoperabilidad, débil en características y seguridad
wsHttpBinding es el enlace completo, que admite un montón de características y estándares WS- *: tiene muchas más características de seguridad, puede usar conexiones de sesión, puede usar mensajes confiables, puede usar control transaccional, solo muchas más cosas , pero wsHttpBinding también es mucho más pesado "y agrega una gran cantidad de sobrecarga a sus mensajes a medida que viajan a través de la red
Para una comparación en profundidad (incluyendo una tabla y ejemplos de código) entre los dos, consulte este artículo de proyecto de código: Diferencias entre BasicHttpBinding y WsHttpBinding
fuente