Share via


Automatic Format Selection

Cet exemple montre comment activer la sélection automatique du format (XML ou JSON) avec le modèle de programmation REST Windows Communication Foundation (WCF) et comment définir explicitement le format dans le code d'opération.

Détails de l'exemple

L'exemple se compose d'un service et du code client qui adresse des requêtes au service. Le service prend en charge une seule opération HTTP GET (EchoWithGet) et une seule opération HTTP POST (EchoWithPost). Les deux opérations attendent une chaîne, qu'elles retournent dans la réponse. Avec l'opération GET, la chaîne est fournie dans un paramètre de chaîne de requête URI. Avec l'opération POST, la chaîne est fournie dans le corps de la requête, sérialisé en XML. Le service est en mesure de retourner des réponses au format XML ou JSON, en utilisant les nouvelles fonctionnalités de sélection automatique du format et de sélection impérative du format de .NET Framework version 4.

Dans l'exemple, la sélection automatique du format est activée au moyen du fichier App.config. Sur le point de terminaison HTTP Web par défaut, la valeur true a été affectée à l'attribut automaticFormatSelectionEnabled. Avec la sélection automatique du format activée, l'infrastructure WCF sélectionne le format de réponse le plus approprié (XML ou JSON) en fonction des en-têtes HTTP Accept ou Content-Type de la requête. Le développeur n'est pas obligé de fournir de code ou de configuration supplémentaire ; il lui suffit d'affecter à l'attribut automaticFormatSelectionEnabled la valeur true pour utiliser cette nouvelle fonctionnalité. Dans le code client de Program.cs, les requêtes sont envoyées aux opérations POST et GET du service avec l'en-tête HTTP Accept spécifié comme « application/xml » ou « application/json » et le service retourne une réponse dans le format en question.

La sélection impérative du format est aussi utilisée dans l'opération GET. L'opération GET recherche un paramètre de chaîne de requête format facultatif et si elle en trouve, définit le format de réponse dans la propriété OutgoingResponse. Définir impérativement le format de réponse de cette façon substitue la sélection automatique du format effectuée par l'infrastructure WCF.

L'exemple est constitué d'un service auto-hébergé et d'un client qui s'exécute 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 Automatic Format Selection. Pour que l'exemple fonctionne correctement, vous devez exécuter Visual Studio 2010 en tant qu'administrateur. Pour ce faire, cliquez avec le bouton droit sur l'icône Visual Studio 2010 et sélectionnez Exécuter en tant qu'administrateur dans le menu contextuel.

  2. Appuyez sur F6 pour générer la solution, puis appuyez sur Ctrl+F5 pour exécuter le projet d'application console AutomaticFormatSelection. 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.

  3. Lorsque l'exemple s'exécute, le client envoie des requêtes au service et affiche les réponses dans la fenêtre de console. Remarquez les différents formats des réponses, XML et JSON.

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

Ee662964.Important(fr-fr,VS.100).gif Remarque :
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.

<LecteurInstall>:\WF_WCF_Samples

Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.

<LecteurInstall>:\WF_WCF_Samples\WCF\Basic\Web\AutomaticFormatSelection