Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Les exemples Windows Communication Foundation (WCF) peuvent être générés à l’aide de l’IDE Visual Studio ou de la commande msbuild à partir de la ligne de commande. Les deux procédures sont décrites dans cet article.
Remarque
Avant de générer ou d’exécuter l’un des exemples WCF, vérifiez que vous avez effectué la procédure d’installationOne-Time pour les exemples Windows Communication Foundation.
Pour générer l’exemple à l’aide d’une invite de commandes
Ouvrez l’invite de commandes développeur pour Visual Studio et accédez au sous-répertoire spécifique à la langue sous l’emplacement du répertoire où vous avez installé l’exemple.
Tapez
msbuildsur la ligne de commande. Les fichiers de programme client sont générés sur client\bin et les fichiers de programme de service sont générés sur service\bin. Si le service est hébergé par Internet Information Services (IIS), les fichiers de programme de service sont également copiés dans le répertoire servicemodelsamples et son sous-répertoire \bin .
Remarque
Vous devez définir les listes de contrôle d’accès sur %systemdrive%\inetpub\wwwroot pour accorder des autorisations de modification au compte sous lequel vous exécutez. Sinon, certains événements post-build échouent. Vous pouvez également laisser les listes de contrôle d’accès telles qu’elles sont 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
Dans le menu Fichier de Visual Studio, sélectionnez Ouvrir>un projet/solution. Accédez au sous-répertoire spécifique à la langue dans le répertoire dans lequel vous avez installé l’exemple, puis double-cliquez sur l’icône de fichier .sln pour ouvrir la solution dans Visual Studio.
Dans le menu Générer , sélectionnez Reconstruire la solution.
Les fichiers de programme client sont générés sur client\bin et les fichiers de programme de service sont générés sur service\bin. Si le service est hébergé dans IIS, les fichiers de programme de service sont également copiés dans le répertoire servicemodelsamples et son sous-répertoire \bin .
Remarque
Vous devez définir les listes de contrôle d’accès sur %systemdrive%\inetpub\wwwroot pour accorder des autorisations de modification au compte sous lequel vous exécutez. Sinon, certains événements post-build échouent. Vous pouvez également laisser les listes de contrôle d’accès telles qu’elles sont et exécuter l’invite de commandes du Kit de développement logiciel (SDK) ou Visual Studio en tant qu’administrateur. Certaines actions Visual Studio (telles que l’attachement d’un débogueur au processus de travail ASP.NET) nécessitent également des privilèges d’administration.
Configurer des fichiers et des scripts Batch
Setup.exe et Cleanup.exe fichiers et scripts par lots doivent être exécutés à partir de l’invite de commandes développeur pour Visual Studio. Plusieurs fichiers configurés et nettoyés effectuent des tâches qui nécessitent des privilèges d’administration et doivent être lancés avec des privilèges d’administrateur.
Informations de sécurité importantes sur les points de terminaison de métadonnées
Pour empêcher la divulgation involontaire de métadonnées de service potentiellement sensibles, la configuration par défaut pour les services Windows Communication Foundation (WCF) désactive la publication de métadonnées. Ce comportement est sécurisé par défaut, mais signifie également que vous ne pouvez pas utiliser un outil d’importation de métadonnées (tel que Svcutil.exe) pour générer le code client requis pour appeler le service, sauf si le comportement de publication des métadonnées du service est explicitement activé dans la configuration. Pour faciliter l’expérimentation des exemples, presque tous les exemples exposent un point de terminaison de publication de métadonnées non sécurisé. Ces points de terminaison sont potentiellement disponibles pour les consommateurs non authentifiés anonymes et les précautions doivent être prises avant de déployer ces points de terminaison pour s’assurer que la divulgation publique des métadonnées d’un service est appropriée. Pour plus d’informations sur la publication des métadonnées du service, consultez l’exemple de comportement de publication des métadonnées . Consultez l’exemple de point de terminaison de métadonnées sécurisés personnalisé pour obtenir un exemple de sécurisation d’un point de terminaison de métadonnées.
Gestion des exceptions
En règle générale, ces exemples n’incluent pas la gestion des exceptions pour maintenir le code axé sur l’objet de l’exemple. Pour plus d’informations sur la gestion des exceptions, consultez l’exemple Exceptions attendues .
Régénération des clients et de la configuration avec Svcutil
Vous pouvez utiliser l’outil utilitaire de métadonnées ServiceModel (Svcutil.exe) pour régénérer le code client et la configuration pour la plupart des exemples. Certains exemples nécessitent une configuration modifiée manuellement. 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 de Svcutil.exe spécifiques pour affecter le code généré, ces options sont spécifiées dans les exemples de rubriques spécifiques.
Pour régénérer les fichiers client et de configuration
Ouvrez une invite de commandes sdk et accédez au sous-répertoire spécifique à la langue sous l’emplacement du répertoire où vous avez installé 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" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.csSi le service est un type auto-hébergé, la commande suivante.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.csRemplacez
http://localhost:8000/ServiceModelSamples/service.svc/mexpar 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" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vbSi le service est un type auto-hébergé, utilisez la commande suivante.
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vbRemarque
Pour ignorer la génération de configuration du client, ajoutez l’option /noConfig .