Puntos de conexión: direcciones, enlaces y contratos

Toda comunicación con un servicio Windows Communication Foundation (WCF) se produce a través de los puntos de conexión de este. Los puntos de conexión proporcionan acceso a los clientes a la funcionalidad que ofrece un servicio WCF.

Cada punto de conexión está compuesto de cuatro propiedades:

  • Una dirección que indica dónde se puede encontrar el punto de conexión.

  • Un enlace que especifica cómo un se puede comunicar un cliente con el punto de conexión.

  • Un contrato que identifica las operaciones disponibles.

  • Un conjunto de comportamientos que especifican detalles de implementación local del punto de conexión.

En este tema se describe esta estructura de punto de conexión y se explica cómo se representa en el modelo de objetos de WCF.

Estructura de un extremo

Cada punto de conexión está compuesto de lo siguiente:

  • Dirección: la dirección identifica únicamente el punto de conexión e indica a los consumidores potenciales del servicio dónde se ubica éste. Está representado en el modelo de objetos de WCF por la clase EndpointAddress. Una clase EndpointAddress contiene:

    • Una propiedad Uri, que representa la dirección del servicio.

    • Una propiedad Identity, que representa la identidad de seguridad del servicio y una colección de encabezados de mensaje opcionales. Los encabezados de mensaje opcionales se utilizan para proporcionar información de direccionamiento adicional y más detallada para identificar o interactuar con el extremo.

    Para obtener más información, consulte Especificación de una dirección de punto de conexión.

  • Enlace: el enlace especifica cómo comunicarse con el extremo. Esto incluye:

    • El protocolo de transporte que se ha de utilizar (por ejemplo, TCP o HTTP).

    • La codificación que se ha de utilizar para los mensajes (por ejemplo, texto o binario).

    • Los requisitos de seguridad necesarios (por ejemplo, SSL o seguridad de mensaje SOAP).

    Para más información, consulte Información general sobre enlaces de WCF. Un enlace se representa en el modelo de objetos de WCF mediante la clase base abstracta Binding. Para la mayoría de los escenarios, los usuarios pueden utilizar uno de los enlaces proporcionados por el sistema. Para más información, consulte Enlaces proporcionados por el sistema.

  • Contratos: el contrato describe qué funcionalidad expone el punto de conexión al cliente. Un contrato especifica:

    • Qué operaciones puede llamar un cliente.

    • La forma del mensaje.

    • El tipo de parámetros de entrada o datos requeridos para llamar a la operación.

    • Qué tipo de mensaje de procesamiento respuesta puede esperar el cliente.

    Para más información sobre la definición de contratos, consulte Diseño de contratos de servicios.

  • Comportamientos: puede utilizar los comportamientos de punto de conexión para personalizar el comportamiento local del punto de conexión de servicio. Los comportamientos de punto de conexión logran esto participando en el proceso de compilación de un tiempo de ejecución de WCF. Un ejemplo de un comportamiento de punto de conexión es la propiedad ListenUri, que permite especificar una dirección de escucha diferente que la dirección SOAP o la dirección del Lenguaje de descripción de servicios Web (WSDL). Para más información, consulte ClientViaBehavior.

Definición de extremos

Puede especificar el extremo de un servicio de manera imperativa mediante código o de manera declarativa mediante configuración. Para más información, consulte Procedimiento para crear un punto de conexión de servicio en la configuración y Creación de un punto de conexión de servicio en código.

En esta sección

En esta sección se explica el propósito de los enlaces, extremos y direcciones; se muestra cómo configurar un enlace y un extremo; y cómo utilizar el comportamiento ClientVia y la propiedad ListenUri.

Direcciones
Describe cómo se direccionan los puntos de conexión en WCF.

Enlaces
Describe cómo se utilizan los enlaces para especificar el transporte, codificación y detalles protocolares requeridos para que los clientes y servicios se comuniquen entre sí.

Contratos
Describe cómo los contratos definen los métodos de un servicio.

Procedimiento para crear un punto de conexión de servicio en la configuración
Describe cómo crear un punto de conexión de servicio mediante configuración

Procedimiento para crear un punto de conexión de servicio mediante código
Describe cómo crear un extremo de servicio mediante código.

Procedimiento para usar Svcutil.exe para validar el código del servicio compilado
Describe cómo para detectar errores en las implementaciones y configuraciones de servicio sin hospedar el servicio mediante el uso de la Herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe).

Consulte también