Puntos de conexión: direcciones, enlaces y contratosEndpoints: Addresses, Bindings, and Contracts

Toda la comunicación con un servicio de Windows Communication Foundation (WCF) se produce a través de los extremos del servicio.All communication with a Windows Communication Foundation (WCF) service occurs through the endpoints of the service. Los extremos proporcionan a los clientes acceso a la funcionalidad que ofrece un servicio WCF.Endpoints provide clients access to the functionality offered by a WCF service.

Cada punto de conexión está compuesto de cuatro propiedades:Each endpoint consists of four properties:

  • Una dirección que indica dónde se puede encontrar el punto de conexión.An address that indicates where the endpoint can be found.

  • Un enlace que especifica cómo un se puede comunicar un cliente con el punto de conexión.A binding that specifies how a client can communicate with the endpoint.

  • Un contrato que identifica las operaciones disponibles.A contract that identifies the operations available.

  • Un conjunto de comportamientos que especifican detalles de implementación local del punto de conexión.A set of behaviors that specify local implementation details of the endpoint.

En este tema se describe esta estructura de extremos y se explica cómo se representa en el modelo de objetos WCF.This topic discusses this endpoint structure and explains how it is represented in the WCF object model.

Estructura de un extremoThe Structure of an Endpoint

Cada punto de conexión está compuesto de lo siguiente:Each endpoint consists of the following:

  • 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.Address: The address uniquely identifies the endpoint and tells potential consumers of the service where it is located. Se representa en el modelo de objetos WCF mediante la EndpointAddress clase.It is represented in the WCF object model by the EndpointAddress class. Una clase EndpointAddress contiene:An EndpointAddress class contains:

    • Una propiedad Uri, que representa la dirección del servicio.A Uri property, which represents the address of the service.

    • Una propiedad Identity, que representa la identidad de seguridad del servicio y una colección de encabezados de mensaje opcionales.An Identity property, which represents the security identity of the service and a collection of optional message headers. 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.The optional message headers are used to provide additional and more detailed addressing information to identify or interact with the endpoint.

    Para obtener más información, vea especificar una dirección de extremo.For more information, see Specifying an Endpoint Address.

  • Enlace: el enlace especifica cómo comunicarse con el extremo.Binding: The binding specifies how to communicate with the endpoint. Esto incluye:This includes:

    • El protocolo de transporte que se ha de utilizar (por ejemplo, TCP o HTTP).The transport protocol to use (for example, TCP or HTTP).

    • La codificación que se ha de utilizar para los mensajes (por ejemplo, texto o binario).The encoding to use for the messages (for example, text or binary).

    • Los requisitos de seguridad necesarios (por ejemplo, SSL o seguridad de mensaje SOAP).The necessary security requirements (for example, SSL or SOAP message security).

    Para obtener más información, vea información general sobre los enlaces de WCF.For more information, see WCF Bindings Overview. La clase base abstracta representa un enlace en el modelo de objetos de WCF Binding .A binding is represented in the WCF object model by the abstract base class Binding. Para la mayoría de los escenarios, los usuarios pueden utilizar uno de los enlaces proporcionados por el sistema.For most scenarios, users can use one of the system-provided bindings. Para obtener más información, vea enlaces proporcionados por el sistema.For more information, see System-Provided Bindings.

  • Contratos: el contrato describe qué funcionalidad expone el punto de conexión al cliente.Contracts: The contract outlines what functionality the endpoint exposes to the client. Un contrato especifica:A contract specifies:

    • Qué operaciones puede llamar un cliente.What operations can be called by a client.

    • La forma del mensaje.The form of the message.

    • El tipo de parámetros de entrada o datos requeridos para llamar a la operación.The type of input parameters or data required to call the operation.

    • Qué tipo de mensaje de procesamiento respuesta puede esperar el cliente.What type of processing or response message the client can expect.

    Para obtener más información sobre cómo definir un contrato, consulte diseño de contratos de servicio.For more information about defining a contract, see Designing Service Contracts.

  • Comportamientos: puede utilizar los comportamientos de punto de conexión para personalizar el comportamiento local del punto de conexión de servicio.Behaviors: You can use endpoint behaviors to customize the local behavior of the service endpoint. Los comportamientos del punto de conexión logran esto participando en el proceso de compilación de un tiempo de ejecución de WCF.Endpoint behaviors achieve this by participating in the process of building a WCF runtime. 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).An example of an endpoint behavior is the ListenUri property, which allows you to specify a different listening address than the SOAP or Web Services Description Language (WSDL) address. Para obtener más información, vea ClientViaBehavior.For more information, see ClientViaBehavior.

Definición de extremosDefining Endpoints

Puede especificar el extremo de un servicio de manera imperativa mediante código o de manera declarativa mediante configuración.You can specify the endpoint for a service either imperatively using code or declaratively through configuration. Para obtener más información, vea Cómo: crear un punto de conexión de servicio en la configuración y Cómo: crear un punto de conexión de servicio en el código.For more information, see How to: Create a Service Endpoint in Configuration and How to: Create a Service Endpoint in Code.

En esta secciónIn This Section

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.This section explains the purpose of bindings, endpoints, and addresses; shows how to configure a binding and an endpoint; and demonstrates how to use the ClientVia behavior and ListenUri property.

CorrigeAddresses
Describe cómo se abordan los extremos en WCF.Describes how endpoints are addressed in WCF.

EnlacesBindings
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í.Describes how bindings are used to specify the transport, encoding, and protocol details required for clients and services to communicate with each other.

TrataContracts
Describe cómo los contratos definen los métodos de un servicio.Describes how contracts define the methods of a service.

Cómo: crear un punto de conexión de servicio en la configuraciónHow to: Create a Service Endpoint in Configuration
Describe cómo crear un punto de conexión de servicio mediante configuraciónDescribes how to create a service endpoint in configuration.

Cómo: crear un punto de conexión de servicio en el códigoHow to: Create a Service Endpoint in Code
Describe cómo crear un extremo de servicio mediante código.Describes how to create a service endpoint in code.

Cómo: usar Svcutil.exe para validar el código de servicio compiladoHow to: Use Svcutil.exe to Validate Compiled Service Code
Describe cómo detectar errores en las implementaciones de servicio y las configuraciones sin hospedar el servicio mediante la herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe).Describes how to detect errors in service implementations and configurations without hosting the service using the ServiceModel Metadata Utility Tool (Svcutil.exe).

Vea tambiénSee also