Partager via


Service HTTP de base

L’exemple BasicHttpService montre comment implémenter un service basé sur HTTP et RPC, communément appelé « POX » (Plain Old XML), à l’aide du modèle de programmation REST de Windows Communication Foundation (WCF). Cet exemple est constitué de deux composants : un service HTTP WCF auto-hébergé (Service.cs) et une application console (Program.cs) qui crée le service et lui passe des appels.

Détails de l'exemple

Le service WCF expose 2 opérations, EchoWithGet et EchoWithPost, qui renvoient la chaîne transmise en tant qu’entrée.

L’opération EchoWithGet est annotée avec WebGetAttribute, ce qui indique que l’opération traite des requêtes HTTP GET. Comme le WebGetAttribute ne spécifie pas explicitement d'UriTemplate, l'opération attend le passage de la chaîne d'entrée à l'aide d'un paramètre de chaîne de requête mentionnant le nom s. Notez que le format de l'URI attendu par le service peut être personnalisé à l'aide de la propriété UriTemplate.

L’opération EchoWithPost est annotée avec WebInvokeAttribute, ce qui indique qu’il ne s’agit pas d’une opération GET (elle a des effets secondaires). Comme le WebInvokeAttribute ne spécifie pas explicitement de Method, l'opération traite les requêtes HTTP POST dont le corps contient la chaîne (au format XML, par exemple). Notez que la méthode HTTP et le format de l'URI de la requête peuvent être personnalisés à l'aide des propriétés Method et UriTemplate, respectivement.

Le fichier App.config configure le service WCF avec un WebHttpEndpoint par défaut dont la propriété HelpEnabled a la valeur true. Par conséquent, l’infrastructure WCF crée sous http://localhost:8000/Customers/help une page d’aide HTML automatique qui fournit des informations sur la façon de construire des requêtes HTTP adressées au service et de consommer la réponse HTTP du service.

Le fichier Program.cs montre comment une fabrique de canaux WCF peut être utilisée pour passer des appels au service et traiter les réponses. Notez qu'il ne s'agit là que de l'un des moyens d'accéder à un service WCF. Il est également possible d'accéder au service à l'aide d'autres classes .NET Framework, comme HttpWebRequest et WebClient.

L'exemple est constitué d'un service auto-hébergé et d'un client qui s'exécutent tous deux dans une application console. Lorsque l'application console s'exécute, le client adresse des requêtes au service et affiche les informations pertinentes des réponses dans la fenêtre de console.

Pour utiliser cet exemple

  1. Ouvrez la solution de l'exemple Basic HTTP Service. Pour que l’exemple fonctionne correctement, vous devez exécuter Visual Studio 2012 en tant qu’administrateur. Pour ce faire, cliquez avec le bouton droit sur l’icône Visual Studio et sélectionnez Exécuter en tant qu’administrateur dans le menu contextuel.

  2. Appuyez sur Ctrl+Maj+B pour générer la solution, puis sur Ctrl+F5 pour exécuter l’application console sans débogage. La fenêtre de console apparaît et fournit l'URI du service en cours d'exécution, ainsi que l'URI de sa page d'aide HTML. Vous pouvez à tout moment consulter la page d'aide HTML en tapant son URI dans un navigateur. Lorsque l'exemple s'exécute, le client écrit l'état de l'activité actuelle.

  3. Appuyez sur une touche quelconque pour arrêter l'exemple.