Procédure pas à pas : création d'un service Web en utilisant Visual Basic ou Visual C#
Mise à jour : novembre 2007
La procédure pas à pas suivante décrit le processus de création d'un service Web qui convertit les températures mesurées en degrés Fahrenheit en degrés Celsius en utilisant Visual Basic ou Visual C#.
Au cours de cette procédure pas à pas, vous effectuerez les activités suivantes :
création d'un service Web à l'aide du modèle de projet Service Web ASP.NET ;
implémenter le service Web ;
exécution du service Web en mode de débogage ;
déploiement du service Web.
Pour effectuer cette procédure pas à pas, vous aurez besoin d'un accès à un ordinateur qui répond aux exigences de création d'un projet Web. Pour plus d'informations, consultez Procédure pas à pas : création et utilisation d'un service Web ASP.NET dans Visual Web Developer.
Création du projet de service Web
Visual Studio fournit un modèle de projet de service Web ASP.NET pour vous aider à créer des services Web dans Visual Basic et Visual C#.
Pour créer un projet de service Web ASP.NET
Dans le menu Fichier, cliquez sur Nouveau site Web.
Dans la boîte de dialogue Nouveau site Web, sélectionnez l'icône Service Web ASP.NET.
Entrez l'adresse du serveur Web sur lequel vous allez développer le service Web et spécifiez TempConvert1 comme nom de répertoire, par exemple "http://MyServer/TempConvert1". Par défaut, le projet utilise votre ordinateur local, "https://localhost".
Remarque : Pour certains types de projets, la zone de texte Nom n'est pas disponible, car le nom du projet est défini automatiquement lorsque vous spécifiez son emplacement. Par exemple, les applications Web et les services Web sont situés sur un serveur Web et leur nom est dérivé du répertoire virtuel spécifié sur ce serveur.
Remarque : Vous développez les services Web sur un serveur de développement. Par défaut, le serveur de développement est votre ordinateur local. En règle générale, vous développez et générez le projet sur un serveur de développement, puis vous le déployez sur un autre serveur (le serveur de déploiement) qui hébergera le service Web au moyen d'un projet de déploiement. Toutefois, si vous effectuez le développement directement sur le serveur qui hébergera le service Web, le serveur de développement est identique au serveur de déploiement.
Cliquez sur OK pour créer le projet.
Visual Studio crée automatiquement les fichiers nécessaires et inclut les références requises pour prendre en charge un service Web. Lorsque vous créez un projet de service Web dans Visual Studio, le Concepteur de composants pour Service1.asmx apparaît.
Implémentation du service Web
L'étape suivante consiste à écrire le code pour implémenter la fonctionnalité du service Web auquel accéderont les clients. Pour les services Web créés dans Visual Studio, ce code est placé dans un fichier code-behind masqué associé au fichier .asmx du service Web créé par Visual Studio. Pour plus d'informations, consultez Comment : créer une méthode de service Web.
Pour ajouter une méthode de service Web
Dans le fichier de code Service.vb, recherchez le code de déclaration de la classe Service. Remplacez le code d'attribut System.Web.Services.WebService par le code suivant (affiché en gras) avant la déclaration de la classe :
<System.Web.Services.WebService( _ Namespace:="http://Walkthrough/XmlWebServices/", _ Description:="A temperature conversion service.")> _ Public Class Service
[System.Web.Services.WebService( Namespace="http://Walkthrough/XmlWebServices/", Description="A temperature conversion service.")] public class Service : System.Web.Services.WebService
Si vous attachez l'attribut WebService à une classe Public, vous pouvez inclure des informations supplémentaires sur le service Web, notamment un espace de noms et une description de ce service. La propriété de description de cet attribut est incluse dans la page d'aide du service. Pour plus d'informations, consultez Comment : utiliser l'attribut WebService.
Dans la classe Service, ajoutez le code suivant pour déclarer la fonction ConvertTemperature :
<WebMethod(Description:="This method converts a temperature in " & _ "degrees Fahrenheit to a temperature in degrees Celsius.")> _ Public Function ConvertTemperature(ByVal dFahrenheit As Double) _ As Double Return ((dFahrenheit - 32) * 5) / 9 End Function
[WebMethod(Description="This method converts a temperature in " + "degrees Fahrenheit to a temperature in degrees Celsius.")] public double ConvertTemperature(double dFahrenheit) { return ((dFahrenheit - 32) * 5) / 9; }
Si vous attachez l'attribut WebMethod à une méthode Public, cette dernière est exposée comme une partie du service Web. La propriété de description de cet attribut est incluse dans la page d'aide du service et dans la page d'aide de la méthode du service. Pour plus d'informations, consultez Comment : utiliser l'attribut WebMethod.
Cliquez avec le bouton droit sur Service1.asmx dans l'Explorateur de solutions, puis cliquez sur Définir comme page de démarrage dans le menu contextuel.
Enregistrez la solution.
Débogage du service Web
Dans Visual Studio, plusieurs méthodes sont disponibles pour générer et exécuter un service Web à partir de l'IDE, notamment :
Exécuter (avec débogage)
Exécuter sans débogage
Afficher dans le navigateur
En tant que projet Visual Studio, ce service Web possède des configurations distinctes pour les versions Release et Debug. Comme vous avez créé ce projet en utilisant le modèle de projet de service Web ASP.NET, Visual Studio crée automatiquement ces configurations et définit les options par défaut et les autres paramètres appropriés. Pour plus d'informations, consultez Comment : définir des configurations Debug et Release.
Dans cette procédure pas à pas, vous allez placer un point d'arrêt dans le service Web et utiliser la méthode Exécuter (avec débogage). Pour plus d'informations, consultez Comment : déboguer des services Web en code managé.
Avant d'entamer tout débogage, vérifiez vos paramètres de débogage. Pour plus d'informations, consultez Préparation du débogage : projets de service Web XML.
Pour utiliser un point d'arrêt et démarrer le service Web avec débogage
Dans le menu Déboguer, choisissez Nouveau point d'arrêt, puis Interrompre à la fonction.
Sous l'onglet Fonction, tapez ConvertTemperature dans la zone Fonction, puis cliquez sur OK pour ajouter un point d'arrêt à la déclaration de méthode ConvertTemperature.
Dans le menu Déboguer, cliquez sur Démarrer, puis sur OK dans la fenêtre Débogage non activé pour démarrer le débogage.
Cette commande demande à Visual Studio d'exécuter le service Web dans le débogueur. Visual Studio génère le projet et le déploie sur le serveur de développement spécifié. Au terme de l'exécution, le navigateur par défaut affiche le fichier .asmx du serveur de déploiement.
Lorsque vous ouvrez un fichier .asmx dans un navigateur, le service Web retourne une page d'assistance de service qui fournit des informations à son sujet. Le lien Description du service permet d'accéder à un document XML qui contient la description de service formelle du service Web. Pour plus d'informations, consultez Description de service Web XML.
Dans la page d'assistance du service, cliquez sur le lien ConvertTemperature.
Dans la zone dFahrenheit, tapez le nombre 212, puis cliquez sur le bouton Invoke.
Lorsque le traitement atteint la fonction ConvertTemperature, il s'arrête. Le débogueur Visual Studio met en surbrillance la ligne contenant le point d'arrêt et, lors de l'arrêt, vous permet d'effectuer plusieurs tâches. Pour plus d'informations, consultez Présentation du débogueur et Affichage des données dans le débogueur.
Dans le menu Déboguer, cliquez sur Continuer pour poursuivre le traitement.
Le service Web répond en retournant la valeur convertie en un document XML qui ressemble à ce qui suit :
<?xml version="1.0" encoding="utf-8" ?> <double xmlns="http://Walkthrough/XmlWebServices/">100</double>
Pour mettre fin à l'exécution du service Web et retourner dans l'éditeur de code, cliquez sur Arrêter le débogage dans le menu Déboguer.
Dans le menu Déboguer, cliquez sur Supprimer tous les points d'arrêt.
Déploiement du service Web
Pour mettre votre service Web à la disposition d'autres utilisateurs, vous devez le déployer sur un serveur Web accessible aux clients que vous souhaitez prendre en charge. Pour déployer le service Web sur un serveur autre que le serveur de développement, vous pouvez ajouter un projet d'installation Web ou copier les fichiers requis sur le serveur de destination. Dans cette procédure pas à pas, vous pouvez choisir la méthode de déploiement de ce service Web. Pour plus d'informations, consultez Comment : déployer des services Web en code managé.
Pour déployer le service Web à l'aide d'un projet d'installation Web
Dans le menu Fichier, pointez sur Ajouter, puis cliquez sur Nouveau projet.
Sélectionnez le nœud Autre, puis le nœud Projets d'installation et de déploiement, puis cliquez sur Projet d'installation Web.
Dans la zone Nom, tapez TempConvert1WebSetup, puis cliquez sur OK.
Remarque : Par défaut, le programme d'installation utilise le nom du projet de déploiement lors de la création du répertoire virtuel sur votre serveur de déploiement.
Dans le volet de gauche de l'Éditeur du système de fichiers, sélectionnez Dossier d'application Web. Pour plus d'informations, consultez Éditeur du système de fichiers.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur TempConvert1WebSetup, pointez sur Ajouter, puis cliquez sur Sortie du projet.
Dans la boîte de dialogue Ajouter le groupe de sorties du projet, sélectionnez Content Files. Pour plus d'informations, consultez Comment : ajouter et supprimer des sorties de projet dans l'Éditeur du système de fichiers.
- Le groupe Fichiers de contenu se compose des fichiers suivants pour le service Web : Service1.asmx, Global.asax et Web.config. Pour plus d'informations, consultez Comment : déployer des services Web en code managé.
Cliquez sur OK.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet TempConvert1WebSetup, puis, dans le menu contextuel, cliquez sur Générer.
Vous créez ainsi un fichier Windows Installer dans le répertoire du projet local. L'exécution de ce fichier installe l'application Web.
Pour déployer le service Web en copiant le projet
Dans l'Explorateur de solutions, sélectionnez le projet TempConvert1.
Dans le menu Projet, cliquez sur Copier le site Web.
Cliquez sur l'icône située en regard de la zone déroulante Se connecter à pour ouvrir la boîte de dialogue Ouvrir le site Web. Accédez à l'emplacement auquel vous souhaitez copier le projet.
Dans le volet Site Web source, sélectionnez les fichiers à copier et déplacez-les vers le volet Site Web distant en cliquant sur l'icône de flèche pointant vers la droite. .
Cliquez sur Copier le site Web pour copier le site Web.
Enfin, pour créer une application cliente qui accède à ce service Web, consultez l'une des rubriques suivantes :
Voir aussi
Autres ressources
Procédures pas à pas de création et d'utilisation de services Web
Procédures pas à pas Visual Studio