Écrire un service web à l’aide de Visual C# .NET
Cet article vous aide à écrire un service web, appelé MathService, qui expose des méthodes pour ajouter, soustraire, diviser et multiplier deux nombres.
Version d’origine du produit : Visual C# .NET
Numéro de la base de connaissances d’origine : 308359
Configuration requise
La liste suivante décrit le matériel, les logiciels, les compétences et les connaissances dont vous avez besoin :
- Microsoft Windows
- Internet Information Server
- Visual Studio .NET
Cet article part du principe que vous êtes familiarisé avec la rubrique : Comment utiliser l’environnement de développement intégré Visual Studio .NET.
Écrire un service web .asmx
Ouvrez Visual Studio .NET.
Dans le menu Fichier , sélectionnez Nouveau , puis Projet. Sous Types de projets, sélectionnez Projets Visual C#. Sélectionnez ensuite ASP.NET service web sous Modèles. Tapez MathService dans la zone de texte Emplacement pour remplacer le nom par défaut (WebService1) par MathService.
Remplacez le nom du service Web par défaut créé à partir de Service1.asmx par MathService.asmx.
Sélectionnez Cliquer pour basculer vers l’affichage code dans l’environnement du concepteur.
Définissez des méthodes qui encapsulent les fonctionnalités de votre service. Chaque méthode qui sera exposée à partir du service doit être marquée avec un
WebMethod
attribut devant elle. Sans cet attribut, la méthode n’est pas exposée à partir du service.Remarque
Toutes les méthodes n’ont pas besoin d’avoir l’attribut
WebMethod
. Il est utile de masquer certains détails d’implémentation appelés par les méthodes du service web public ou dans le cas où laWebService
classe est également utilisée dans les applications locales. Une application locale peut utiliser n’importe quelle classe publique, mais seules lesWebMethod
méthodes sont accessibles à distance en tant que services web.Ajoutez la méthode suivante à la
MathServices
classe que vous avez créée :[WebMethod] public int Add(int a, int b) { return(a + b); } [WebMethod] public System.Single Subtract(System.Single A, System.Single B) { return (A - B); } [WebMethod] public System.Single Multiply(System.Single A, System.Single B) { return A * B; } [WebMethod] public System.Single Divide(System.Single A, System.Single B) { if(B == 0) return -1; return Convert.ToSingle(A / B); }
Sélectionnez Générer dans le menu Générer pour générer le service web.
Accédez à la page du service web MathService.asmx pour tester le service web. Si vous définissez l’ordinateur local pour héberger la page, l’URL est
http://localhost/MathService/MathService.asmx
.
Le runtime ASP.NET retourne une page d’aide du service web qui décrit le service Web. Cette page vous permet également de tester différentes méthodes de service web.
Consommer un service web
Ouvrez Visual Studio .NET.
Sous Types de projets, sélectionnez Projets Visual C#, puis application console sous Modèles.
Ajoutez une référence pour le service web MathService à la nouvelle application console.
Cette étape crée une classe proxy sur l’ordinateur client. Une fois que la classe proxy existe, vous pouvez créer des objets basés sur la classe . Chaque appel de méthode effectué avec l’objet est ensuite envoyé à l’URI (Uniform Resource Identifier) du service web (généralement sous la forme d’une requête SOAP).
- Dans le menu Projet , sélectionnez Ajouter une référence web.
- Dans la boîte de dialogue Ajouter une référence web , tapez l’URL du service web dans la zone de texte Adresse , puis appuyez sur Entrée. Si vous définissez l’ordinateur local pour héberger le service web, l’URL est
http://localhost/MathService/MathService.asmx
. - Sélectionnez Ajouter une référence. Vous pouvez également taper l’URL du fichier de découverte (MathService.vsdisco) ou sélectionner Références web sur le serveur web local dans le volet gauche pour sélectionner le service MathService dans la liste.
- Développez la section Références web de Explorateur de solutions et notez l’espace de noms utilisé.
Créez un instance de l’objet proxy qui a été créé. Placez le code suivant dans la fonction appelée
Main
:localhost.Service1 myMathService = new localhost.Service1();
Appelez une méthode sur l’objet proxy que vous avez créé à l’étape précédente, comme suit :
Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
Sélectionnez Générer dans le menu Générer pour générer l’application console.
Sélectionnez Démarrer dans le menu Déboguer pour tester l’application.
Fermez et enregistrez le projet.
References
Pour plus d’informations, consultez la rubrique Programmation web avec des services web dans l’aide de Visual Studio .NET ou la rubrique ASP.NET Web Services et ASP.NET Web Service Clients dans le Guide du développeur .NET Framework.
Pour plus d’informations, visitez les sites web suivants :
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour