É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

  1. Ouvrez Visual Studio .NET.

  2. 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.

  3. Remplacez le nom du service Web par défaut créé à partir de Service1.asmx par MathService.asmx.

  4. Sélectionnez Cliquer pour basculer vers l’affichage code dans l’environnement du concepteur.

  5. 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ù la WebService classe est également utilisée dans les applications locales. Une application locale peut utiliser n’importe quelle classe publique, mais seules les WebMethod 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);
    }
    
  6. Sélectionnez Générer dans le menu Générer pour générer le service web.

  7. 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

  1. Ouvrez Visual Studio .NET.

  2. Sous Types de projets, sélectionnez Projets Visual C#, puis application console sous Modèles.

  3. 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).

    1. Dans le menu Projet , sélectionnez Ajouter une référence web.
    2. 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.
    3. 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.
    4. Développez la section Références web de Explorateur de solutions et notez l’espace de noms utilisé.
  4. 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();
    
  5. 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));
    
  6. Sélectionnez Générer dans le menu Générer pour générer l’application console.

  7. Sélectionnez Démarrer dans le menu Déboguer pour tester l’application.

  8. 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 :