Share via


Extremos: direcciones, enlaces y contratos

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

Cada extremo está compuesto de cuatro propiedades:

  • Una dirección que indica dónde se puede encontrar el extremo.

  • Un enlace que especifica cómo se puede comunicar un cliente con el extremo.

  • Un contrato que identifica las operaciones disponibles.

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

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

Estructura de un extremo

Cada extremo está compuesto de lo siguiente:

  • Dirección: la dirección identifica únicamente el extremo 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, vea Especificación de una dirección de extremo.

  • 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 obtener más información, vea Información general de enlaces de Windows Communication Foundation. 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 obtener más información, consulte Enlaces proporcionados por el sistema.

  • Contratos: el contrato describe qué funcionalidad expone el extremo 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 obtener más información sobre la definición de un contrato, vea Diseño de contratos de servicios.

  • Comportamientos: puede utilizar los comportamientos de extremo para personalizar el comportamiento local del extremo de servicio. Los comportamientos de extremo logran esto participando en el proceso de compilación de un tiempo de ejecución de WCF. Un ejemplo de un comportamiento de extremo 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 obtener más información, vea 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 obtener más información, vea Cómo crear un extremo de servicio en configuración y Cómo crear un extremo 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.

  • Enlaces de Windows Communication Foundation
    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.

Vea también

Otros recursos

Configuración de servicios
Extensión de enlaces