WCF Tutoriel Partie 4

microsoft

Dans l’article précèdent, j’ai parlé de l’hébergement d’un service WCF par Windows Services, j’ai précisé que ce mode d’hébergement a plusieurs avantages notamment :

  • Il peut être configuré pour se lancer automatiquement sans se loguer à la machine.
  • Les actions de reprises.
  • Il supporte la pluspart des protocoles de liaison ou de transports

Les inconvénients de ce mode d’hébergement sont :

  • Difficulté du débogage.
  • Création du code personnalisé pour créer le service Windows.

L’hébergement d’un service WCF dans IIS  consiste à déléguer la gestion de son cycle de vie à IIS,

Nous n'avons plus besoin d’écrire du code pour héberger le service WCF, qui sera pris en charge par IIS, le service sera activé automatiquement quand il y a un appel sinon il reste en standup.

La gestion du cycle de vie de notre WCF service est automatique.

Dans ce qui suit, je vais vous montrer comment héberger un service WCF dans IIS.

Je commence par créer un projet de web de type WCF Service dans la solution WCFExampleSolution :

Wcf_Pres_Image25

 

C’est le type idéal si l'on veut héberger notre WCF service dans IIS.

Visual studio génère le projet suivant :

Wcf_Pres_Image26

Wcf_Pres_Image27

  • Je supprime les deux fichiers IService.cs et Service.cs car on va utiliser le projet WCFExampleLibrary pour récupérer notre WCF service, donc il faut ajouter la référence à ce projet, Visual Studio ajoute le dossier bin qui contient le projet WCFExampleLibrary  et toutes les dépendances.
  • Je modifie ensuite le fichier Service.svc pour référencer notre WCF Service

En remplaçant le code par la ligne suivante :

<%@ ServiceHost Language="C#" Debug="true" Service="CovaccMCIDataBaseSynchronisation.MciWcfCcoService"  %>
  • Il reste la partie de configuration, du service WCF qui sera repris à partir des autres projets, je modifie juste le port par 8766. je la copie dans le web.config en supprimant l’ancienne configuration.
  • J’ajoute aussi la connexion string.
  • Dans IIS,  je crée sous le Default Web Site une nouvelle application WCFExampleHostingIIS qui pointe vers le répertoire du site web :

Wcf_Pres_Image28

 

Pour tester le service j’utilise l’outil WCF Client Test, j’ajoute l’adresse http://localhost/WCFExampleHostingIIS/Service.svc?singleWsdl

Le test ne marche pas :

Wcf_Pres_Image29

Wcf_Pres_Image30

Je modifie les droits pour l’utilisateur IIS APPPOOL\ASP.NET V4.0 Integrated'

Wcf_Pres_Image31

Après ce paramétrage on doit avoir  le résultat suivant :Wcf_Pres_Image32

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.