Enlaces personalizados
Puede usar la clase CustomBinding cuando uno de los enlaces proporcionados por el sistema no cumple los requisitos de su servicio. Todos los enlaces se construyen a partir de un conjunto ordenado de elementos de enlace. Los enlaces personalizados pueden crearse a partir de un conjunto de elementos de enlace proporcionado por el sistema o incluir elementos de enlace personalizado definidos por el usuario. Puede utilizar elementos de enlaces personalizados, por ejemplo, para habilitar el uso de nuevos transportes o codificadores en un extremo de servicio. Para ver ejemplos en funcionamiento, consulte Ejemplos de enlaces personalizados. Para obtener más información, consulte <customBinding>.
Construcción de un enlace personalizado
Un enlace personalizado se construye utilizando el constructor CustomBinding de una colección de elementos de enlace que se apilan en un orden específico:
En la parte superior hay una clase TransactionFlowBindingElement opcional que permite el flujo de transacciones.
A continuación, hay una clase ReliableSessionBindingElement opcional que proporciona una sesión y mecanismos de ordenación, como se define en la especificación WS-ReliableMessaging. Una sesión puede cruzar SOAP y transportar intermediarios.
A continuación, hay una clase SecurityBindingElement opcional que proporciona características de seguridad, como autorización, autenticación, protección y confidencialidad.
A continuación, hay una clase CompositeDuplexBindingElement opcional que proporciona la capacidad de disponer de comunicación dúplex bidireccional con un protocolo de transporte que no admite la comunicación dúplex de forma nativa, como HTTP.
A continuación, hay una clase OneWayBindingElement) opcional que proporciona comunicación unidireccional.
A continuación, hay un elemento de enlace de seguridad de secuencia opcional que puede ser uno de los siguientes.
A continuación hay un elemento de enlace de codificación del mensaje requerido. Puede utilizar su propio codificador de mensajes o uno de los tres enlaces siguientes de codificación de mensajes:
En la parte inferior hay un elemento de transporte necesario. Puede utilizar su propio transporte o uno de los siguientes elementos de enlace de transporte que se proporcionan en el motor Windows Communication Foundation (WCF):
La tabla siguiente resume las opciones de cada nivel.
Nivel | Opciones | Obligatorio |
---|---|---|
Transacciones | TransactionFlowBindingElement | No |
Confiabilidad | ReliableSessionBindingElement | No |
Seguridad | SecurityBindingElement | No |
Encoding | Texto, binario, mecanismo de optimización de transmisión de mensajes (MTOM), personalizado | Sí |
Transporte | TCP, HTTP, HTTPS, canalizaciones con nombre (también conocidas como IPC), igual a igual (P2P), Message Queuing (también conocido como MSMQ), personalizado | Sí |
Además, puede definir sus propios elementos de enlace e insertarlos entre cualquiera de las capas definidas anteriores.