[.net3/wcf] demo service-client wcf

Description

Bonjour,
J'ai récemment mis le nez pour la 1ière fois (et oui j'ai mis le temps...:)) dans Windows Communication Fundation (WCF) - une des briques ayant fait son apparition dans Framework .NET 3.

Séduit, je dépose ici mon premier travail sur WCF. Le but de cette démo est de construire un service WCF hébergé par IIS et une application cliente WCF consommant le service.

Pour la démo, un fichier XML contenant des informations sur quelques membres de Codes-Sources sera exploiter par le service qui fournira des opérations (vraiment simples) au client:
-Obtenir des informations sur un membre de Codes-Sources
-Lister les membres de Codes-Sources
-Supprimer un membre
-Créer un nouveau membre
-Simple addition entre deux nombres

Pour ceux qui découvrent, 2 tutoriaux accompagnent cette démo et sont disponibles en bas de page.

Source / Exemple :


///////////////////////////////
//Code de l'application cliente.
///////////////////////////////
using System;
using System.Collections.Generic;
using System.ServiceModel;
using DemoWCFClient.DemoServiceTest;

namespace DemoWCFClient
{
    class Program
    {
        static void Main(string[] args)
        {
            //Nouvelle instance du proxy et connexion au service.
            DemoWCFServiceClient proxy = new DemoWCFServiceClient("BasicHttpBinding_IDemoWCFService");

            try
            {
                //Test 1 - Obtenir la liste des membres de CS.
                List<MembreCS> lMembre = new List<MembreCS>(proxy.ListeMembres());

                foreach (MembreCS m in lMembre)
                {
                    Console.WriteLine("ID CS: {0}", m.ID);
                    Console.WriteLine("Nom: {0}", m.Nom);
                    Console.WriteLine("Prénom: {0}", m.Prenom);
                    Console.WriteLine("Pseudo: {0}", m.Pseudo);
                    Console.WriteLine("Age: {0}", m.Age);
                    Console.WriteLine("Profile: {0}", m.Profile);
                    Console.WriteLine("Admin.: {0}", m.EstAdmin);
                    Console.WriteLine("");
                }

                Console.WriteLine("");

                //Test 2 - Obtenir des informations sur un membre en particulier
                MembreCS membre2 = proxy.DetailsMembre(941);    //941 est mon ID CS

                Console.WriteLine("Information du membre ayant l'ID 941");
                Console.WriteLine("Nom: {0}", membre2.Nom);
                Console.WriteLine("Prénom: {0}", membre2.Prenom);
                Console.WriteLine("Pseudo: {0}", membre2.Pseudo);
                Console.WriteLine("Age: {0}", membre2.Age);
                Console.WriteLine("Profile: {0}", membre2.Profile);
                Console.WriteLine("Admin.: {0}", membre2.EstAdmin);
                Console.WriteLine("");

                Console.WriteLine("");

                //Test 3 - Supprimer un membre en particulier. Hum....Au hasard Nix :).
                if (proxy.SupprimerMembre(12345))
                    Console.WriteLine("Le membre avec l'ID 1 a été supprimé.");
                else
                    Console.WriteLine("Echec de la suppression du membre avec l'ID 1.");

                Console.WriteLine("");

                //Test 4 - Ajoute un nouveau membre.
                if (proxy.NouveauMembre(12345, "C_O_D_Y_X", "BotCS", "Bot", 1000, @"http://www.codes-sources.com", false))
                    Console.WriteLine("Le nouveau membre C_O_D_Y_X a été ajouté.");
                else
                    Console.WriteLine("Echec de création du nouveau membre C_O_D_Y_X.");

                Console.WriteLine("");

                //Test 5 - Simple addition.
                Console.WriteLine("Addition de 2 + 2 = {0}", proxy.Addition(2, 2));
            }
            catch (Exception ex)
            {
                Console.WriteLine("----------");
                Console.WriteLine("Exeption  survenue: {0}", ex.Message);
                Console.WriteLine("----------");
            }
            finally
            {
                //Déconexion du service.
                proxy.Close();
            }
        }
    }
}

Conclusion :


Bonne découverte à tous (enfin ceux qui n'ont jamais vu WCF en action).
Merci et bon dév ;)

Tutoriaux de cette démo.
Construction du service WCF: http://www.csharpfr.com/tutoriaux/NET3-WCF-1IERE-APPROCHE-CONSTRUCTION-SERVICE-WCF_746.aspx
Construction du client WCF: http://www.csharpfr.com/tutoriaux/NET3-WCF-1IERE-APPROCHE-CONSTRUCTION-CLIENT-WCF_747.aspx

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.