Enlaces proporcionados por el sistema

Los enlaces especifican el mecanismo de comunicación que se ha de utilizar al hablar con un punto de conexión e indican cómo conectarse a un punto de conexión. Un enlace contiene los siguientes elementos:

  • La pila de protocolos determina la seguridad, confiabilidad y valores de flujo de contexto que se han de utilizar para los mensajes que se envían al extremo.

  • El transporte determina el protocolo de transporte subyacente que se ha de utilizar al enviar mensajes al punto de conexión, como, por ejemplo, TCP o HTTP.

  • La codificación determina la codificación de la conexión que se va a usar para los mensajes que se envían al punto de conexión. Por ejemplo, texto/XML, binaria o Mecanismo de optimización de transmisión de mensajes (MTOM).

En este artículo se presentan todos los enlaces de Windows Communication Foundation (WCF) proporcionados por el sistema. Si ninguno de estos enlaces cumplen los criterios exactos de la aplicación, puede crear un enlace personalizado. Para obtener más información sobre cómo crear enlaces personalizados, vea Enlaces personalizados.

Un enlace seguro e interoperable que admite el protocolo WS-Federation permite a las organizaciones que están en una federación autenticar y autorizar eficazmente a los usuarios.

Importante

Siempre seleccione un enlace que incluya seguridad. De forma predeterminada, todos los enlaces excepto el <basicHttpBinding> elemento tienen la seguridad habilitada. Si no selecciona un enlace seguro o deshabilita la seguridad, asegúrese de proteger sus datos de alguna otra manera, como realizar el almacenamiento en un centro de datos seguro o en una red aislada.

Importante

Nunca utilice contratos dúplex con enlaces que no admiten la seguridad o que tienen la seguridad deshabilitada, a menos que proteja los datos de algún otro modo.

Los enlaces siguientes vienen con WCF:

Enlace Elemento de configuración Descripción
BasicHttpBinding <basicHttpBinding> Un enlace que es útil para la comunicación con servicios web conformes con WS-Basic Profile, como, por ejemplo, servicios basados en servicios web de ASP.NET (ASMX). Este enlace utiliza HTTP como el transporte, y texto/XML como la codificación de mensajes predeterminada.
WSHttpBinding <wsHttpBinding> Un enlace seguro e interoperable, adecuado para contratos de servicio que no son dúplex.
WSDualHttpBinding <wsDualHttpBinding> Un enlace seguro e interoperable adecuado para contratos de servicios dúplex o para la comunicación a través de intermediarios de SOAP.
WSFederationHttpBinding <wsFederationHttpBinding> Un enlace seguro e interoperable que admite el protocolo WS-Federation que permite a las organizaciones que están en una federación autenticar y autorizar eficazmente a los usuarios.
NetHttpBinding <netHttpBinding> Enlace diseñado para consumir servicios HTTP o WebSocket que usa la codificación binaria de forma predeterminada.
NetHttpsBinding <netHttpsBinding> Enlace protegido diseñado para consumir servicios HTTP o WebSocket que usa la codificación binaria de forma predeterminada.
NetTcpBinding <netTcpBinding> Un enlace seguro y optimizado adecuado para la comunicación entre equipos entre aplicaciones de WCF.
NetNamedPipeBinding <netNamedPipeBinding> Un enlace seguro, confiable y optimizado que es adecuado para la comunicación en equipos entre aplicaciones de WCF.
NetMsmqBinding <netMsmqBinding> Un enlace en cola adecuado para la comunicación entre equipos entre aplicaciones de WCF.
NetPeerTcpBinding <netPeerTcpBinding> Un enlace que permite una comunicación segura entre múltiples equipos.
MsmqIntegrationBinding <msmqIntegrationBinding> Un enlace adecuado para la comunicación entre equipos entre una aplicación de WCF y aplicaciones de Message Queuing existentes.
BasicHttpContextBinding <basicHttpContextBinding> Un enlace adecuado para la comunicación con los servicios web compatibles con el perfil WS-Basic que permite el uso de cookies HTTP para intercambiar el contexto.
NetTcpContextBinding <netTcpContextBinding> Un enlace seguro y optimizado adecuado para la comunicación entre aplicaciones de WCF en distintos equipos que permite usar encabezados SOAP para intercambiar el contexto.
WebHttpBinding <webHttpBinding> Un enlace que se usa para configurar los puntos de conexión de los servicios web de WCF que se exponen mediante solicitudes HTTP en lugar de mensajes SOAP.
WSHttpContextBinding <wsHttpContextBinding> Un enlace seguro e interoperable adecuado para los contratos de servicios no dúplex que permite usar encabezados SOAP para intercambiar el contexto.
UdpBinding <udpBinding> Enlace que se usará al enviar una ráfaga de mensajes simples a un gran número de clientes simultáneamente.

La siguiente tabla muestra las características de cada uno de los enlaces proporcionados por el sistema. Los enlaces se encuentran en las columnas de la tabla; las características se enumeran en las filas y se describen en una segunda tabla. La siguiente tabla proporciona una clave para las abreviaturas de enlaces utilizadas. Para seleccionar un enlace, determine qué columna satisface todas las características de fila que necesite.

Enlace Interoperabilidad Seguridad (valor predeterminado) Sesión
(Es el valor predeterminado).
Transacciones Dúplex Codificación (valor predeterminado) Streaming
(Es el valor predeterminado).
BasicHttpBinding Basic Profile 1.1 (Ninguno), transporte, mensaje, mixto (Ninguna) (Ninguna) N/D Texto, (MTOM)
(almacenado en búfer)
WSHttpBinding WS Transporte, (mensaje), mixto (Ninguno), sesión confiable, sesión de seguridad (Ninguno), Sí N/D (Texto), MTOM No
WSDualHttpBinding WS (Mensaje), ninguno (Sesión confiable), sesión de seguridad (Ninguno), Sí (Texto), MTOM No
WSFederationHttpBinding WS-Federation (Mensaje), mixto, ninguno (Ninguno), sesión confiable, sesión de seguridad (Ninguno), Sí No (Texto), MTOM No
NetHttpBinding .NET (Ninguno), Transporte, Mensaje, TransportWithMessageCredential, TransportCredentialOnly Vea la nota siguiente Ninguno Vea la nota siguiente (Binario), Texto, MTOM Sí (almacenado en búfer)
NetHttpsBinding .NET (Transporte), TransportWithMessageCredential Vea la nota siguiente Ninguno Vea la nota siguiente (Binario), Texto, MTOM
(almacenado en búfer)
NetTcpBinding .NET (Transporte), mensaje, ninguno, mixto (Transporte), sesión confiable, sesión de seguridad (Ninguno), Sí Binary
(almacenado en búfer)
NetNamedPipeBinding .NET (Transporte), ninguno Ninguno, (transporte) (Ninguno), Sí Binary
(almacenado en búfer)
NetMsmqBinding .NET Mensaje, (Transporte), Ninguno (Ninguno), transporte Ninguno, (Sí) No Binary No
NetPeerTcpBinding Del mismo nivel (Transporte) (Ninguna) (Ninguna) No
MsmqIntegrationBinding MSMQ (Transporte) (Ninguna) Ninguno, (Sí) N/D N/D No
BasicHttpContextBinding Basic Profile 1.1 (Ninguno), transporte, mensaje, mixto (Ninguna) (Ninguna) N/D Texto, (MTOM)
(almacenado en búfer)
NetTcpContextBinding .NET (Transporte), mensaje, ninguno, mixto (Transporte), sesión confiable, sesión de seguridad (Ninguno), Sí Binary
(almacenado en búfer)
WSHttpContextBinding WS Transporte, (mensaje), mixto (Ninguno), sesión confiable, sesión de seguridad (Ninguno), Sí N/D Texto, (MTOM) No
UdpBinding

Nota: Se puede lograr la interoperabilidad mediante la implementación de la especificación estándar de SOAP-sobre-UDP que este enlace implementa.
.NET (Ninguna) (Ninguna) (Ninguna) N/D (Texto) No

Importante

NetHttpBinding es un enlace diseñado para consumir servicios HTTP o WebSocket y usa la codificación binaria de forma predeterminada. NetHttpBinding detecta si se usa con un contrato de solicitud-respuesta o dúplex, y cambia su comportamiento para que coincida; usa HTTP para los contratos de solicitud-respuesta y WebSockets para los dúplex. Este comportamiento se puede reemplazar mediante el valor de enlace de WebSocketTransportUsage: WhenDuplex. Es el valor predeterminado y se comporta como se describió antes. Nunca: evita que se use WebSockets. Si se intenta usar un contrato dúplex con este valor se produce una excepción. Siempre: obliga a usar WebSockets incluso para los contratos de solicitud-respuesta. NetHttpBinding admite sesiones confiables en modo HTTP y en modo WebSocket. En el modo WebSocket, el transporte proporciona las sesiones.

La siguiente tabla explica las características enumeradas en la tabla anterior.

Característica Descripción
Tipo de interoperabilidad Nombra el protocolo o tecnología con la que el enlace asegura la interoperación.
Seguridad Especifica cómo se protege el canal:
- Ninguno: el mensaje SOAP no se protege y no se autentica el cliente.
- Transporte: los requisitos de seguridad se satisfacen en el nivel de transporte.
- Mensaje: los requisitos de seguridad se satisfacen en la capa del mensaje.
- Mixto: las notificaciones se transmiten en el mensaje; el nivel de transporte cumple los requisitos de integridad y confidencialidad.
Sesión Especifica si este enlace admite contratos de sesión.
Transacciones Especifica si las transacciones están habilitadas.
Dúplex Especifica si se admiten los contratos dúplex. Observe que esta característica requiere que el enlace admita sesiones.
Encoding Especifica el formato de conexión del mensaje. Inclusión de valores permitida:
- Texto: por ejemplo, UTF-8.
- Binario
- Mecanismo de optimización de transmisión del mensaje (MTOM): método para codificar de forma eficaz elementos XML binarios dentro del contexto de un sobre SOAP.
Streaming Especifica si se admite la transmisión por secuencias para mensajes de entrada y de salida. Utilice la propiedad TransferMode del enlace para establecer el valor. Entre los valores permitidos se incluyen:
- Buffered: los mensajes de respuesta y solicitud se almacenan en búfer.
- Streamed: los mensajes de solicitud y respuesta se transmiten por secuencias.
- StreamedRequest: el mensaje de solicitud se transmite por secuencias y el mensaje de respuesta se almacena en búfer.
- StreamedResponse: el mensaje de solicitud se almacena en búfer y el mensaje de respuesta se transmite por secuencias.

Consulta también