protocolmapping error .net wcf wcf-binding

.net - error - basichttpbinding wcf



net.pipe vs. net.tcp vs. enlaces de http (3)

Si bien no es excelente para proporcionar ejemplos de uso específicos, aquí hay un enlace de MSDN que enumera todas las características de los enlaces.

http://msdn.microsoft.com/en-us/library/ms730879.aspx

Aquí hay un diagrama de flujo decente que puede ayudar a elegir entre ellos también.

Fuente: http://bloggingabout.net/blogs/dennis/archive/2006/12/01/WCF-Binding-decision-chart.aspx

Aquí hay un buen artículo general que he usado en el pasado.

http://mkdot.net/blogs/dejan/archive/2008/03/31/wcf-binding-decision.aspx (o here en la máquina de retorno si el enlace ya no funciona para usted).

Soy nuevo en WCF y me gustaría saber las diferencias / ventajas / limitaciones / etc. de cada una de las siguientes vinculaciones:

net.pipe net.tcp http

Se agradecerán escenarios de apoyo sobre cuándo usar cada enlace y otros ejemplos.


Windows Communication Foundation (WCF) es un marco para crear servicios que procesen mensajes XML. WCF le permite transmitir mensajes utilizando diferentes protocolos de transporte (como HTTP, TCP y MSMQ) y utilizando diferentes representaciones XML (como texto, binario o MTOM, que comúnmente se conoce como la codificación del mensaje en WCF).

Si desea alojar muchos Servicios WCF en una máquina y desea que usen la memoria compartida para su comunicación, utilice un nombre llamado pipe => net.pipe, y luego use tcp para la comunicación a Servicios WCF en diferentes máquinas.

La configuración de la vinculación de nettcp se centra en la creación de una pila de canales que funcionará mejor en entornos de Windows, ofreciéndole una excelente opción para reemplazar sus diversas inversiones de COM + y de comunicación remota de .NET.

BasicHttpBinding fue diseñado para escenarios donde la interoperabilidad es de suma importancia. Como resultado, BasicHttpBinding usa HTTP para el transporte y el texto para la codificación del mensaje.


net.pipe, rápido y seguro porque su servicio web no es accesible desde la red (por lo general, usará net.pipe para interactuar fácilmente con un servicio de Windows).

http, lo usará por razones de interoperabilidad, si su servicio web no está sobre HTTP, Silverlight o flash no pueden usarlo (porque el navegador filtra paquetes que no son http, como lo hace un firewall).

net.tcp, es un poco más rápido porque su mensaje no está envuelto dentro de una solicitud HTTP, pero no puede invocar su servicio web con una tecnología RIA, y algunos firewalls dejarán caer su mensaje.