Utilización de enlaces para configurar servicios y clientes

Los enlaces son los objetos que especifican los datos de comunicación exigidos para conectar a un punto de conexión. Más específicamente, los enlaces contienen información de configuración utilizada para crear el cliente o servicio en tiempo de ejecución mediante la definición de las características de transportes, formatos de la conexión (codificación de mensajes) y protocolos que se utilizarán en el punto de conexión respectivo o canal de cliente. Para crear un servicio Windows Communication Foundation (WCF) en funcionamiento, cada extremo del servicio requiere un enlace. Este tema explica qué enlaces son, cómo se definen, y cómo se especifica un enlace determinado para un punto de conexión.

Qué define un enlace

La información de un enlace puede ser muy básica o muy compleja. El enlace más básico especifica solo el protocolo de transporte (como HTTP) que se debe utilizar para conectar al extremo. Más generalmente, la información que contiene un enlace sobre cómo conectarse a un extremo queda incluida en una de las categorías de la tabla siguiente.

Protocolos
Determina el mecanismo de seguridad utilizado, función de la mensajería de confianza o configuración de flujo de contexto de transacción.

Transporte
Determina el protocolo de transporte subyacente que se utilizará (por ejemplo, TCP o HTTP).

Encoding
Determina la codificación del mensaje, por ejemplo, texto/XML, binario o Mecanismo de optimización de transmisión del mensaje (MTOM), que determinan cómo se representan los mensajes como secuencias de bytes en la conexión.

Enlaces proporcionados por el sistema

WCF incluye un conjunto de enlaces proporcionados por el sistema que están diseñados para cubrir la mayoría de los requisitos y escenarios de la aplicación. Las clases siguientes representan algunos ejemplos de enlaces proporcionados por el sistema:

  • BasicHttpBinding: Un enlace de protocolo HTTP conveniente para conectar a los Servicios Web que cumple a la especificación del WS-I Basic Profile 1.1 (por ejemplo, servicios web ASP.NET [ASMX] - servicios basados).

  • WSHttpBinding: Un enlace de protocolo HTTP conveniente para conectar a los extremos que cumplen con los protocolos de especificaciones de servicios Web.

  • NetNamedPipeBinding: usa la codificación binaria de .NET y tecnologías de trama junto con el Windows de canalización con nombre para conectarse a otros puntos de conexión WCF en el mismo equipo.

  • NetMsmqBinding: usa las tecnologías de codificación binaria y trama de .NET junto con Message Queuing (también conocido como MSMQ) para crear conexiones de mensajes en cola con otros puntos de conexión wcf.

Para obtener una lista completa de los enlaces proporcionados por el sistema, con descripciones, vea Enlaces proporcionados por el sistema.

Enlaces personalizados

Si la colección de enlaces proporcionada por el sistema no tiene la combinación correcta de características que necesita una aplicación de servicio, puede crear un enlace CustomBinding. Para obtener más información sobre los elementos de un CustomBinding enlace, vea <customBinding> y Enlaces personalizados.

Utilizar los enlaces

El uso de enlaces conlleva dos pasos básicos:

  1. Seleccione o defina un enlace. El método más fácil es elegir uno de los enlaces proporcionados por el sistema y utilizar su configuración predeterminada. Puede elegir también un enlace proporcionado por el sistema y restablecer sus valores de propiedad para satisfacer sus necesidades También puede crear un enlace personalizado y establecer las propiedades como necesite.

  2. Cree un punto de conexión que utiliza este enlace.

Código y configuración

Puede definir o configurar los enlaces a través del código o configuración. Estos dos enfoques son independientes según el tipo de enlace utilizado, por ejemplo, si utiliza un enlace proporcionado por el sistema o un enlace CustomBinding. En general, el uso de código proporciona un control total sobre la definición de un enlace cuando se compila. Por otro lado, el uso de la configuración permite que un administrador del sistema o el usuario de un servicio o cliente WCF cambien los parámetros de los enlaces. Esta flexibilidad suele ser deseable porque no hay ninguna manera de predecir los requisitos específicos de la máquina y las condiciones de red en las que se va a implementar una aplicación WCF. Separar la información de enlace (y direccionamiento) del código permite a los administradores cambiar los datos obligatorios sin tener que recompilar o implementar de nuevo la aplicación. Tenga en cuenta que si el enlace se define en código, sobrescribe las definiciones basadas en configuración realizadas en el archivo de configuración. Para obtener ejemplos de estos enfoques, consulte los temas siguientes:

Consulta también