Génération des exemples Windows Communication Foundation
Les exemples Windows Communication Foundation (WCF) peuvent être générés à l'aide de Visual Studio 2010 ou à l'aide de la commande msbuild à partir de la ligne de commande. Les deux procédures sont décrites dans cette rubrique.
Remarque : |
---|
Avant de générer ou d'exécuter l'un des exemples WCF, assurez-vous d'avoir effectué la procédure figurant à la section Procédure d'installation unique pour les exemples Windows Communication Foundation. |
Pour générer l'exemple à partir d'une invite de commandes
Ouvrez l'invite de commandes de Visual Studio 2010 avec des privilèges d'administrateur et accédez au sous-répertoire spécifique aux langues situé sous le répertoire d'installation de l'exemple.
Tapez msbuild dans la ligne de commande. Les fichiers de programme du client sont générés dans client\bin, et les fichiers de programme du service sont générés dans service\bin. Si le service est hébergé par IIS (Internet Information Services), les fichiers programme du service sont également copiés dans le répertoire servicemodelsamples et dans son sous-répertoire \bin.
Remarque : |
---|
Vous devez affecter %systemdrive%\inetpub\wwwroot aux listes de contrôle d'accès (ACL) pour accorder des autorisations de modification au compte sous lequel vous vous êtes connecté. Sinon, certains des événements post-build échoueront. Vous pouvez également laisser les listes de contrôle d'accès telles quelles et exécuter l'invite de commandes du Kit de développement logiciel (SDK) en tant qu'administrateur. |
Pour générer l'exemple à l'aide de Visual Studio
Si vous utilisez Windows Vista, Windows Server 2008, Windows 7 ou Windows Server 2008 R2 et exécutez Visual Studio 2010, vous devez exécuter Visual Studio avec des autorisations élevées. Pour ce faire, cliquez avec le bouton droit sur l'icône du menu Démarrer, puis cliquez sur Exécuter en tant qu'administrateur.
À partir du menu Fichier de Visual Studio, cliquez sur Ouvrir, puis sur Projet/Solution. Accédez au sous-répertoire spécifique aux langues situé sous le répertoire d'installation de l'exemple, puis double-cliquez sur l'icône du fichier .sln pour ouvrir la solution dans Visual Studio.
Dans le menu Générer, sélectionnez Régénérer la solution. Les fichiers de programme du client sont générés dans client\bin, et les fichiers de programme du service sont générés dans service\bin. Si le service est hébergé par IIS (Internet Information Services), les fichiers programme du service sont également copiés dans le répertoire servicemodelsamples et dans son sous-répertoire \bin.
Remarque : |
---|
Vous devez affecter %systemdrive%\inetpub\wwwroot aux listes de contrôle d'accès (ACL) pour accorder des autorisations de modification au compte sous lequel vous vous êtes connecté. Sinon, certains des événements post-build échoueront. Vous pouvez également laisser les listes de contrôle d'accès telles quelles et exécuter l'invite de commandes du Kit de développement logiciel (SDK) ou Visual Studio en tant qu'administrateur. Certaines actions de Visual Studio (tel que l'attachement d'un débogueur au processus de travail ASP.NET) requièrent également des privilèges d'administrateur. |
Scripts et fichiers de commandes d'installation
Les fichiers de commandes Setup.exe et Cleanup.exe et les scripts doivent être exécutés à partir d'une invite de commandes de Visual Studio. Plusieurs fichiers d'installation et de nettoyage effectuent des tâches qui requièrent des privilèges d'administrateur et doivent être lancés avec des privilèges d'administrateur.
Informations de sécurité importantes à propos des points de terminaison de métadonnées
Afin d'éviter toute divulgation accidentelle de métadonnées de service potentiellement sensibles, la configuration par défaut des services Windows Communication Foundation (WCF) désactive la publication des métadonnées. Ce comportement est sécurisé par défaut, mais cela implique également que vous ne pouvez pas utiliser d'outil d'importation de métadonnées (tel que Svcutil.exe) pour générer le code client requis pour appeler le service, à moins que le comportement de publication des métadonnées du service soit activé explicitement dans la configuration. Pour faciliter l'utilisation des exemples, pratiquement tous les exemples exposent un point de terminaison de publication de métadonnées non sécurisé. De tels points de terminaison sont potentiellement disponibles aux consommateurs non authentifiés anonymes. Il est dès lors nécessaire de se montrer vigilant et de s'assurer que la divulgation publique des métadonnées d'un service est appropriée avant de déployer de tels points de terminaison. Pour plus d'informations sur le sujet suivant la publication de métadonnées de service, consultez l'exemple Metadata Publishing Behavior. Consultez l'exemple Point de terminaison de métadonnées sécurisé personnalisée pour obtenir un exemple de sécurisation d'un point de terminaison de métadonnées.
Gestion des exceptions
En général, ces exemples n'incluent pas la gestion des exceptions pour que le code reste axé sur le sujet de l'exemple. Pour plus d'informations sur le sujet suivant la gestion des exceptions, consultez l'exemple Expected Exceptions.
Régénération des clients et de la configuration avec Svcutil
Vous pouvez utiliser l'Outil Service Model Metadata Tool (Svcutil.exe) pour régénérer le code et la configuration du client pour la plupart des exemples. Certains exemples nécessitent une modification manuelle de la configuration. Par exemple, si vous utilisez Svcutil.exe pour régénérer la configuration d'un exemple qui utilise des informations d'identification de certificat client, vous devez spécifier manuellement les informations d'identification précédemment configurées. Certains exemples utilisent des options Svcutil.exe spécifiques pour affecter le code généré ; ces options sont spécifiées dans les rubriques d'exemple spécifiques.
Pour régénérer les fichiers du client et les fichiers de configuration
Ouvrez une invite de commandes du Kit de développement SDK et accédez au sous-répertoire spécifique aux langues situé sous l'emplacement d'installation de l'exemple.
Si le service est un type hébergé sur le Web, utilisez la commande suivante.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Si le service est un type auto-hébergé, utilisez la commande suivante.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
Remplacez https://localhost:8000/ServiceModelSamples/service.svc/mex par l'adresse du point de terminaison mex du service auto-hébergé.
Pour générer le client dans un type Visual Basic, utilisez la commande suivante.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Si le service est un type auto-hébergé, utilisez la commande suivante.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" https://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
Remarque : Pour ignorer la génération de la configuration du client, ajoutez l'option /noConfig.
Voir aussi
Concepts
Running the Windows Communication Foundation Samples
Outil Service Model Metadata Tool (Svcutil.exe)