Partager via


Introduction aux services Windows Communication Foundation dans Visual Studio

Mise à jour : novembre 2007

Visual Studio 2008 fournit des outils pour utiliser Windows Communication Foundation (WCF), la technologie Microsoft de création d'applications distribuées. Cette rubrique fournit une introduction à WCF dans Visual Studio.

Qu'est-ce que WCF ?

Windows Communication Foundation (WCF) est une infrastructure unifiée de création d'applications distribuées interopérables sécurisées, fiables et traitées. Dans les versions antérieures de Visual Studio, plusieurs technologies pouvaient être utilisées pour communiquer entre les applications.

Pour partager les informations de manière à les rendre accessibles à partir de n'importe quelle plateforme, vous utiliserez un service Web (également appelé service Web ASMX). Pour déplacer uniquement les données exécutées sur le système d'exploitation Windows entre un client et un serveur, vous utiliserez .NET Remoting. Pour obtenir des communications traitées, vous utiliserez Enterprise Services (DCOM) ou, pour obtenir un modèle de file d'attente, vous utiliserez Message Queuing (également appelé MSMQ).

WCF réunit les fonctionnalités de toutes ces technologies dans un modèle de programmation unifié. Cela simplifie le développement des applications distribuées.

Modèle de programmation WCF

Le modèle de programmation WCF est basé sur la communication entre deux entités : un service WCF et un client WCF. Le modèle de programmation est encapsulé dans l'espace de noms System.ServiceModel dans le .NET Framework.

Service WCF

Un service WCF est basé sur une interface qui définit un contrat entre le service et le client. Il est marqué avec un attribut ServiceContractAttribute, comme illustré dans le code suivant :

<ServiceContract()> _
Public Interface IService1
    <OperationContract()> _
    Function GetData(ByVal Value As String) As String
End Interface

Vous définissez les fonctions ou les méthodes exposées par un service WCF en les marquant avec un attribut OperationContractAttribute. En outre, vous pouvez exposer les données sérialisées en marquant un type composite avec un attribut DataContractAttribute. Cela active la liaison de données dans un client.

Une fois l'interface et ses méthodes définies, elles sont encapsulées dans une classe qui implémente l'interface. Une seule classe de service WCF peut implémenter plusieurs contrats de service.

Un service WCF est utilisé via ce que l'on appelle un point de terminaison. Le point de terminaison fournit le seul moyen de communication avec le service ; vous ne pouvez pas accéder au service via une référence directe comme avec les autres classes.

Un point de terminaison se compose d'une adresse, d'une liaison et d'un contrat. L'adresse définit l'emplacement du service ; cela peut être une URL, une adresse FTP ou un chemin d'accès réseau ou local. Une liaison définit la façon dont vous communiquez avec le service. Les liaisons WCF fournissent un modèle polyvalent pour spécifier un protocole tel qu'HTTP ou FTP, un mécanisme de sécurité tel que l'authentification Windows ou des noms d'utilisateurs et des mots de passe, etc. Un contrat inclut les opérations exposées par la classe de service WCF.

Plusieurs points de terminaison peuvent être exposés pour un seul service WCF. Cela permet aux différents clients de communiquer avec le même service de plusieurs façons. Par exemple, un service bancaire peut fournir un point de terminaison pour les employés et un autre point pour les clients externes, chacun utilisant une adresse, une liaison et/ou un contrat différents.

Client WCF

Un client WCF se compose d'un proxy qui permet à une application de communiquer avec un service WCF et d'un point de terminaison qui correspond à un point de terminaison défini pour le service. Le proxy est généré côté client dans le fichier app.config et inclut des informations sur les types et les méthodes exposés par le service. Pour les services qui exposent plusieurs points de terminaison, le client peut sélectionner celui qui correspond le mieux à ses besoins, par exemple, pour communiquer sur HTTP et utiliser l'authentification Windows.

Après avoir créé un client WCF, vous référencez le service dans votre code comme vous le feriez pour n'importe quel autre objet. Par exemple, pour appeler la méthode GetData présentée précédemment, écrivez un code similaire au code suivant :

Dim client As New ServiceReference.Service1Client
Dim returnString As String

returnString = client.GetData("Hello")
MsgBox(returnString)

Outils WCF dans Visual Studio

Visual Studio 2008 fournit des outils pour vous aider à créer des services WCF et des clients WCF. Pour obtenir une procédure pas à pas illustrant les outils, consultez Procédure pas à pas : création et utilisation des services WCF.

Création et test de services WCF

Vous pouvez utiliser les modèles Visual Studio WCF comme base pour créer rapidement votre propre service. Vous pouvez ensuite utiliser l'hôte de service WCF et le client test WCF pour déboguer et tester le service. Ces outils fournissent ensemble un cycle de test et de débogage rapide et pratique et éliminent la nécessité de valider un modèle d'hébergement lors d'une phase préliminaire.

Modèles WCF

Les modèles Visual Studio WCF fournissent une structure de classe de base pour le développement du service. Plusieurs modèles WCF sont disponibles dans la boîte de dialogue Ajouter un nouveau projet. Ceux-ci incluent des modèles de projets de la Bibliothèque de services WCF, de sites Web de service WCF et d'éléments de service WCF.

Lorsque vous sélectionnez un modèle, les fichiers sont ajoutés pour un contrat de service, une implémentation de service et une configuration de service. Tous les attributs nécessaires sont déjà ajoutés, ce qui crée un type de service simple « Hello World », sans avoir à écrire de code. Vous souhaiterez évidemment ajouter du code pour fournir des fonctions et des méthodes pour votre service réaliste, mais les modèles fournissent la fondation de base.

Pour plus d'informations sur les modèles WCF, consultez Modèles Visual Studio WCF.

Hôte de service WCF

Lorsque vous démarrez le débogueur Visual Studio (en appuyant sur F5) pour un projet de service WCF, l'outil Hôte de service WCF est démarré automatiquement pour héberger le service localement. L'hôte de service WCF énumère les services dans un projet de service WCF, charge la configuration du projet et instancie un hôte pour chaque service trouvé.

À l'aide de l'hôte de service WCF, vous pouvez tester un service WCF sans écrire de code supplémentaire ou valider un hôte spécifique au cours du développement.

Pour plus d'informations sur l'hôte de service WCF, consultez Hôte de service WCF (WcfSvcHost.exe).

Client test WCF

L'outil Client test WCF vous permet d'entrer des paramètres de test, de soumettre cette entrée à un service WCF et de consulter la réponse renvoyée par le service. Il fournit une expérience de test de service pratique lorsque vous le combinez avec l'hôte de service WCF.

Lorsque vous appuyez sur F5 pour déboguer un projet de service WCF, le client test WCF s'ouvre et affiche la liste des points de terminaison de service définis dans le fichier de configuration. Vous pouvez tester les paramètres et démarrer le service, et répéter ce processus pour tester et valider en continu votre service.

Pour plus d'informations sur le client test WCF, consultez Client test WCF (WcfTestClient.exe).

Accès aux services WCF dans Visual Studio

Visual Studio 2008 simplifie la tâche de création des clients WCF, en générant automatiquement un proxy et un point de terminaison pour les services que vous ajoutez à l'aide de la boîte de dialogue Ajouter une référence de service. Toutes les informations de configuration nécessaires sont ajoutées dans le fichier app.config. La plupart du temps, il vous suffit d'instancier le service pour l'utiliser.

La boîte de dialogue Ajouter une référence de service vous permet d'entrer l'adresse pour un service ou de rechercher un service défini dans votre solution. La boîte de dialogue retourne une liste de services et les opérations fournies par ces services. Elle vous permet également de définir l'espace de noms de référence des services dans le code.

La boîte de dialogue Configurer les références de service vous permet de personnaliser la configuration pour un service. Vous pouvez modifier l'adresse pour un service, spécifier le niveau d'accès, le comportement asynchrone et les types de contrats de message, et configurer la réutilisation du type.

Pour plus d'informations sur l'utilisation des services WCF, consultez Utilisation des services WCF dans Visual Studio.

Voir aussi

Tâches

Procédure pas à pas : création et utilisation des services WCF

Autres ressources

Utilisation des services WCF dans Visual Studio

Utilisation des outils de développement WCF

Services Windows Communication Foundation et services de données ADO.NET