Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[.NET3/WCF] 1IERE APPROCHE - CONSTRUCTION D'UN SERVICE WCF


Information sur le tutorial

Catégorie :Tutoriaux Tutorial .NET ( DotNet ) Date de création : 27/09/2007 17:41:26 Vu : 3 604 fois

Note :
Aucune note

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


Description

Ce tutorial explique pas à pas les différentes étapes de constructions d'un service WCF hébergé pas IIS.

Un second tutorial sera mis à disposition très prochainement et sera accompagné de la source complète (service WCF + client) prise pour cette démo.

Bon service :)

-----------------------------------------
Version PDF: http://www.perfecttoolsxp.net/Tutos/DemoWCF_01/Article/WCF_approche_srv.pdf
Second tutorial: http://www.csharpfr.com/tutoriaux/NET3-WCF-1IERE-APPROCHE-CONSTRUCTION-CLIENT-WCF_747.aspx
Source complète: http://www.csharpfr.com/codes/NET3-WCF-DEMO-SERVICE-CLIENT-WCF_44226.aspx

Tutorial

WINDOWS COMMUNICATION FUNDATION - PREMIERE APPROCHE

Construction du s ervice WCF


Le service fournira les opérations suivantes pour notre application cliente que nous verrons dans le second tutorial .

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

A présent passons à la création de notre service WCF. Créer un nouveau projet de type « WCF Service Library ».



Définir les contrat s .


La structure d'un service WCF s'appui sur deux types de contrats, un contrat de données et un contrat de service.

  • Un contrat de données : Il définit le format des données d' un objet métier (classe) / structure / énumération qui sera é changé entre le service et le client. Il est définit par l'attribut [ DataContract ] et ses membres marqués de l'attribut [ DataMember ] . (Si un membre n'est pas balisé [ DataMember ] il ne sera pas sérialisé dans le flux XML qui sera échangé entre le service et le client) .
  • Un contrat de service : Interface qui définit les méthodes ( = opérations) que le service WCF va exposer au x client s . Il est définit par l'attribut [ ServiceContract ] et ses membres marqués de l'attribut [ OperationContract ] .

Maintenant que les présentations sont faîtes, n ous allons définir notre seul contrat de données pour un objet MembreCS . Créons une classe MembreCS avec les membres le caractérisant comme ci-dessous .

Une fois le contrat de données définit sur notre objet MembreCS nous allons pouvoir écrire le contrat de service de notre service WCF. Créez une interface que vous appellerez I DemoW CFService avec les signatures des méthodes comme ci-dessous.



Mise en œuvre du service WCF


Après avoir spécifié la structure des données à notre service avec un Contrat de Données et définit les opérations qui seront exposées par le service à l'aide d'un Contrat de Service , la prochaine étape va être tout simplement d ' écrire le code de no s méthodes exposées (opérations) en mettant en œuvre le Contrat de Service (implémentation de l'interface IDemoWCFService ).

Pour cela créons une nouvelle classe DemoService sous le contrat de service IDemoWCFService comme ci-dessous.

  • Méthode ListeMembre s

  • Méthode DetailsMembr e

Je passe sur le s autres méthodes que vous retrouvez bien évidement dans la source associé e à ce tutorial ..



Hébergement du service


Pour pouvoir exécute r le service WCF et le rendre accessible aux clients nous devons l'héberger soit dans une application dîtes Hôte, service Windows ou par IIS. Pour cette démonstration l e service sera hébergé par IIS.

  • Ajouter un fichier de définition de service (. svc ) qui va spécifier le nom de la classe que va exécuter IIS ainsi que le nom de l'assemblage qui renferme cette classe.
  • Créer un fichier « Web.config » en y ajoutant des informations dit de liaisons nécessaire à IIS. En effet ces informations vont indiquer comment un client doit communiquer avec le service WCF.
  • Déployer le service WCF vers IIS.

Et c'est parti, ajouter un nouvel élément de type Fichier texte portant le même nom que le service WCF « DemoWCFService »

Comme décrit dans la définition de la première étape nous allons spécifier le nom de la classe et de la l' assemblage qui la renferme. Ajouter les lignes suivantes dans le fichier DemoWCFService.svc.

Passons maintenant à la seconde étape, le fichier Web.config .

Examinons ensemble la section < system.serviceModel >

<!--Contient les informations de configuration d'un service WCF.-->

<system.serviceModel>

<!--Contient les détails de chaque service mis en oeuvre.-->

<services>

<!--Détail sur notre unique service.-->

<!--Elément name: Spécifie l'espace de noms et la classe mettant en oeuvre notre unique service.-->

< service name ="DemoWCFService.DemoService" behaviorConfiguration ="DemoServiceBehavior">

<!--Elément endpoint: Sans entrer dans les détails, il s'agit de l'élément qui fournit

aux applis. clientes les infos dont elles ont besoin pour communiquer avec

notre service DemoService.-->

< endpoint address ="" binding ="basicHttpBinding" contract ="DemoWCFService.IDemoWCFService" />

</service>

</services>


Dans l a section < behaviors > j e vais active r la pub lication des métadonnées (du Contrat de Service) ce qui va permettre par la suite aux utilisateurs d'obtenir ces métadonnées en émettant une requê t e au service WC F de type HttpGet et ainsi retrouver un wsdl classique de WebService .

Il nous reste plus qu'à présent à déployer vers IIS notre service WCF (Je pars du principe que IIS est déjà activé et configuré) . Dans IIS ajouter un nouveau répertoire virtuel dans « Site Web par Défaut » et pointer le vers la racine de la solution du service WCF (Voir ci-dessous) .

Le service est maintenant hébergé par IIS est prêt à être consommer par des applications clientes.


Test du déploiement du service WCF


Dernière partie de ce tutorial, le test de notre service WCF. Pour ce faire rien de plus simple, ouvrez votre navigateur Internet et saisissez l'adresse du service. http://localhost/DemoWCFService/DemoWCFService.svc

PS: http://localhost/DemoWCFService/DemoWCFService.svc ?wsdl pour voir afficher les métadonnées du Contrat de Service.

27 septembre 2007 18:04:56 :
Version PDF
29 septembre 2007 00:55:01 :
Ajout lien second tuto + lien source complète
signaler à un administrateur
Commentaire de teddyalbina le 15/02/2008 13:48:49

Très bon tuto simple et claire.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,03 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.