entre diferencia wcf-binding basichttpbinding wshttpbinding webhttpbinding

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