Points de terminaison : Adresses, liaisons et contrats
Toutes les communications avec un service Windows Communication Foundation (WCF) se produisent via les points de terminaison du service. Les points de terminaison fournissent aux clients l'accès aux fonctionnalités offertes par un service WCF.
Chaque point de terminaison se compose de quatre propriétés :
Une adresse qui indique où rechercher le point de terminaison.
Une liaison qui spécifie comment un client peut communiquer avec le point de terminaison.
Un contrat qui identifie les opérations disponibles.
L'ensemble des comportements qui spécifient les détails d'implémentation locaux du point de terminaison.
Cette rubrique traite de cette structure de point de terminaison et explique comment elle est représenté dans le modèle objet WCF.
Structure d'un point de terminaison
Chaque point de terminaison comprend les éléments suivants :
Adresse : l'adresse identifie le point de terminaison de manière unique et indique aux consommateurs potentiels l'emplacement du service. Elle est représentée dans le modèle objet WCF par la classe EndpointAddress. Une classe EndpointAddress contient :
Une propriété Uri, qui représente l'adresse du service.
Une propriété Identity qui représente l’identité de sécurité du service et une collection d’en-tête de message facultatifs. Les en-têtes de message facultatifs sont utilisés pour fournir des informations d'adressage supplémentaires et plus détaillées afin d'identifier le point de terminaison ou d'interagir avec lui.
Pour plus d'informations, consultez Spécification d'une adresse de point de terminaison.
Liaison : la liaison spécifie le mode de communication avec le point de terminaison. notamment :
Le protocole de transport à utiliser (par exemple, TCP ou HTTP).
L'encodage à utiliser pour les messages (par exemple, texte ou binaire).
Les exigences de sécurité nécessaires (par exemple, SSL ou la sécurité des messages SOAP).
Pour plus d’informations, consultez Vue d’ensemble des liaisons WCF. Une liaison est représentée dans le modèle objet WCF par la classe de base abstraite Binding. Pour la plupart des scénarios, les utilisateurs peuvent utiliser l'une des liaisons fournies par le système. Pour plus d’informations, consultez Liaisons fournies par le système.
Contrats : le contrat de service définit les fonctionnalités que le point de terminaison expose au client. Un contrat spécifie :
Quelles opérations peuvent être appelées par un client.
Le format du message.
Le type de paramètres d'entrée ou les données requis pour appeler l'opération.
Le type de traitement ou le message de réponse que le client peut attendre.
Pour plus d’informations sur les contrats, consultez Conception de contrats de service.
Comportements : vous pouvez utiliser des comportements de point de terminaison pour personnaliser le comportement local du point de terminaison du service. Les comportements de point de terminaison accomplissent ceci en participant au processus de génération d'un runtime WCF. Un exemple de comportement de point de terminaison est la propriété ListenUri qui vous permet de spécifier une adresse d'écoute différente de l'adresse SOAP ou WSDL (Web Services Description Language). Pour plus d’informations, consultez ClientViaBehavior.
Définition des points de terminaison
L'adresse du point de terminaison pour un service peut être spécifiée de manière impérative en utilisant le code ou de façon déclarative par la configuration. Pour plus d’informations, consultez Procédure : Créer un point de terminaison de service dans la configuration et Procédure : Créer un point de terminaison de service dans le code.
Dans cette section
Cette section explique à quoi servent les liaisons, les points de terminaison et les adresses, indique comment configurer une liaison et un point de terminaison et montre comment utiliser le comportement ClientVia
et la propriété ListenUri
.
Adresses
Décrit comment les points de terminaison sont adressés dans WCF.
Liaisons
Décrit comment les liaisons sont utilisées pour spécifier le transport, l’encodage et les détails de protocole requis pour que les clients et les services puissent communiquer l’un l’autre.
Contrats
Décrit comment les contrats définissent les méthodes d'un service.
Procédure : créer un point de terminaison de service dans la configuration
Décrit comment créer un point de terminaison de service dans la configuration.
Procédure : créer un point de terminaison de Service dans le code
Décrit comment créer un point de terminaison de service dans le code.
Procédure : utiliser Svcutil.exe pour valider le code de service compilé
Décrit comment détecter les erreurs dans les implémentations et les configurations de service sans héberger le service à l’aide de l’Outil utilitaire de métadonnées ServiceModel (Svcutil.exe).