J'avais l'impression qu'un point de terminaison était défini dans un fichier de configuration comme la liste des clients possibles, mais cela n'a aucun sens (en ce sens que j'ai supposé que les ordinateurs pouvaient être connectés au service) d'une définition, alors quelqu'un pourrait-il m'expliquer ce qu'est un point final pour moi? Je comprends l’idée de définir l’interface du contrat, puis de le mettre en œuvre, mais je me perds quelque part entre le moment et le fait d’avoir quelque chose d’utilisable.
Qu'est-ce qu'une adresse dans ce contexte? l'adresse de l'hôte?
Une liaison est la méthode/protocole de communication à utiliser correcte?
le contrat est essentiellement "l'objet partagé" (oui, je sais que c'est techniquement incorrect, mais travaillez avec moi ici)
Un point de terminaison est ce qu'un service expose et, en termes de WCF, se compose de trois choses:
Adresse est l'URL par laquelle le noeud final peut être atteint.
La liaison dicte les transformations appliquées ainsi que la forme (dans une certaine mesure) des messages envoyés à la mise en œuvre du contrat à l'adresse.
Le contrat détermine quelles opérations sont exposées à l'adresse. C'est exactement ce qui est dit, c'est un contrat pour indiquer quels appels sont autorisés.
La plupart du temps, les gens s'en souviennent comme étant A B C.
Quelques points à noter:
La liaison va typiquement être une combinaison de canaux avec des comportements appliqués; les canaux étant des éléments de la pile de canaux qui modifient le message et effectuent des actions avant d'arriver à la mise en oeuvre du service.
Bien que couramment représenté par une interface dans .NET, un contrat ne doit pas nécessairement être représenté de cette manière. Certains défenseurs de la conception d'abord définiront les schémas aux messages qui seront envoyés pour la demande et la réponse en premier, ce à quoi WCF transforme l'interface de contrat .NET.
Je vais citer Juval Lowy Programmation Services WCF ici:
Chaque service est associé à une adresse qui définit où le service is, une liaison qui définit comment communiquer avec le service, et un contrat qui définit ce que le service fait. Ce triumvirat régissant le service est facile à retenir comme étant l’ABC de le service.
La WCF formalise cette relation sous la forme d'un noeud final. Le Le point final est la fusion de l'adresse, du contrat et de la liaison.
Chaque noeud final doit comporter les trois éléments et l'hôte expose le fichier point final.
Points de terminaison dans WCF
Service WCF est un programme qui expose une collection de points de terminaison. Chaque point final est un portail permettant de communiquer avec le monde . Le point final comprend trois composants.
1) Adresse:
Définit où un service est situé
ex - http://www.test.com:8001/MyService
2) Liaisons:
Une liaison qui spécifie comment un client peut communiquer avec le noeud final.
ex - BasicHttpBinding, WSHttpBinding, WSDualHttpBinding etc.
3) Contrats:
Un contrat qui identifie les opérations disponibles
Les points de terminaison seront mentionnés dans le fichier web.config sur le service créé.
Un point de terminaison de service a une adresse, une liaison et un contrat ..__ L'adresse du point de terminaison est une adresse réseau sur laquelle réside le point de terminaison. La classe EndpointAddress représente une adresse de point de terminaison WCF . La liaison du point de terminaison spécifie comment le point de terminaison communique avec le monde, y compris des éléments tels que le protocole de transport (par exemple, TCP, HTTP), le codage (par exemple, le texte, les fichiers binaires) et la sécurité (par exemple: , SSL, sécurité des messages SOAP). La classe Binding représente une liaison WCF . Le contrat du noeud final spécifie ce que le noeud final communique et est essentiellement un ensemble de messages organisés en opérations comportant des modèles MEP (Message Exchange Patterns) de base, tels qu'unidirectionnel, un duplex et une requête/réponse. . La classe ContractDescription représente un contrat WCF.
Voir ici: Un point de terminaison de service spécifie une adresse, une liaison et un contrat à utiliser pour la communication.
Un point de terminaison de service a une adresse, une liaison et un contrat. L'adresse du noeud final est une adresse réseau sur laquelle réside le noeud final. La classe EndpointAddress représente une adresse de point de terminaison WCF. La liaison du noeud final spécifie comment le noeud final communique avec le monde, y compris des éléments tels que le protocole de transport (TCP, HTTP, par exemple), le codage (texte, binaire, etc.) et les exigences de sécurité (telles que SSL, sécurité des messages SOAP). La classe Binding représente une liaison WCF. Le contrat du noeud final spécifie ce que le noeud final communique et est essentiellement un ensemble de messages organisés en opérations ayant des modèles d'échange de messages (MEP) de base, tels que les messages à sens unique, recto verso et demande/réponse. La classe ContractDescription représente un contrat WCF.
Un point de terminaison de service Web peut masquer tout ou partie de ceux-ci. Et en fonction de la demande peut décider en interne le traitement de la demande.
L'outil SRJTester (disponible sur Github) permet de spécifier les paramètres, les actions, les protocoles, etc.