wcf binding - diferencia - BasicHttpBinding vs WsHttpBinding vs WebHttpBinding
difference between basichttpbinding vs wshttpbinding (1)
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?
Estás comparando manzanas con naranjas aquí:
webHttpBinding es el enlace de estilo REST, en el que, básicamente, solo tiene que acceder a una URL y recuperar un camión 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, el WcfTestClient o su propia aplicación.
Por lo tanto, su primera decisión debe ser: REST frente a SOAP (o puede exponer ambos tipos de puntos finales desde 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: excelente para la interoperabilidad, débil en funciones y seguridad
wsHttpBinding es el enlace completo, que admite una gran cantidad de características y estándares de WS- *. Tiene muchas más funciones de seguridad, puede usar conexiones de sesión, puede usar mensajes confiables, puede usar control transaccional, simplemente 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 (que incluye una tabla y ejemplos de código) entre los dos, echa un vistazo a este artículo de código de proyecto: Diferencias entre BasicHttpBinding y WsHttpBinding