Share via


Configuration-Based Activation

Cet exemple montre comment activer des services Windows Communication Foundation (WCF) sans avoir à utiliser un fichier .svc.

Dd807499.Important(fr-fr,VS.100).gif Remarque :
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.

<LecteurInstall>:\WF_WCF_Samples

Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.

<LecteurInstall>:\WF_WCF_Samples\WCF\Basic\Services\Hosting\ConfigBasedActivation

Détails de l'exemple

Dans cet exemple, le client est le client de test WCF et le service est hébergé dans IIS.

Dd807499.note(fr-fr,VS.100).gifRemarque :
Les instructions d'installation et de génération correspondant à cet exemple figurent en fin de rubrique.

Activation de services sans avoir à utiliser de fichier .svc

Dans .NET Framework 3.5, un fichier .svc était requis pour activer un service. Cela générait une charge de gestion supplémentaire, en raison du déploiement et de la maintenance nécessaires d'un fichier supplémentaire avec l'application. Avec le lancement de .NET Framework version 4, les composants d'activation peuvent être configurés à l'aide du fichier de configuration de l'application.

.NET Framework 4 introduit un nouvel élément de configuration (ServiceActivationElement), dans le ServiceHostingEnvironmentSection du fichier de configuration de l'application. La collection ServiceHostingEnvironmentSection accepte une collection de services à activer, comme le montre l'exemple de code suivant.

<serviceActivations>
   <add relativeAddress="Calculator.svc" service="Microsoft.ServiceModel.Samples.CalculatorService" />


<serviceActivations>

L'observation à formuler est que la configuration semble très similaire à celle de fichiers .svc. Un attribut supplémentaire, relativeAddress, qui fournit l'adresse du service, a été introduit. L'adresse relative constitue également le chemin d'accès virtuel du service. L'hôte récupère le fichier Web.config du fichier à partir de l'emplacement virtualPath, s'il existe ; sinon, l'hôte effectue une recherche récursive dans son dossier parent.

Dd807499.note(fr-fr,VS.100).gifRemarque :
Pour fonctionner, cet exemple requiert un hébergement dans IIS.

Pour utiliser cet exemple

  1. À l'aide de Visual Studio 2010, ouvrez le fichier Service.csproj.

  2. Pour générer la solution, appuyez sur F6.

  3. Testez le service en exécutant WCFTestClient.exe.

  4. À l'aide de l'Explorateur Windows, naviguez jusqu'au dossier %SystemDrive%\Program Files\Microsoft Visual Studio 10.0\Common7\IDE.

  5. Exécutez WcfTestClient.exe.

  6. Définissez l'adresse MEX du service.

  7. Appuyez sur CTRL+MAJ+A pour définir l'adresse du service.

  8. Définissez l'adresse https://localhost/ServiceModelSamples/Calculator.svc.

  9. Effectuez l'opération Add. Affectez au paramètre n1 la valeur 10 et au paramètre n2 la valeur 15.

  10. Cliquez sur Appeler.

    Le résultat attendu est 25.

Pour configurer, générer et exécuter l'exemple

  1. Assurez-vous d'avoir effectué la procédure indiquée dans la section Procédure d'installation unique pour les exemples Windows Communication Foundation.

  2. Pour générer l'édition C# ou Visual Basic .NET de la solution, suivez les instructions indiquées dans Génération des exemples Windows Communication Foundation.

  3. Une fois la solution générée, exécutez Setup.bat pour installer l'application ServiceModelSamples dans IIS. Le répertoire ServiceModelSamples doit maintenant apparaître en tant qu'application IIS.

  4. Pour exécuter l'exemple dans une configuration à un ou plusieurs ordinateurs, conformez-vous aux instructions figurant dans la rubrique Running the Windows Communication Foundation Samples.