Partager via


Comment : configurer un client Windows Communication Foundation de base

Il s'agit de la cinquième des six tâches requises pour créer un service Windows Communication Foundation (WCF) de base et un client pouvant appeler le service. Pour disposer d'une vue d'ensemble des six tâches, consultez la rubrique Didacticiel de mise en route.

Cette rubrique ajoute le fichier de configuration du client qui a été généré à l'aide de l'Outil Service Model Metadata Tool (Svcutil.exe) au projet client, et explique le contenu des éléments de configuration du client. La configuration du client consiste à spécifier le point de terminaison que le client utilise pour accéder au service. Un point de terminaison a une adresse, une liaison et un contrat et chacun de ces éléments doit être spécifié dans le processus de configuration du client.

Le contenu des fichiers de configuration générés pour le client est fourni dans l'exemple qui suit la procédure.

Pour configurer un client Windows Communication Foundation

  1. Ajoutez le fichier de configuration App.config généré lors de la procédure Comment : créer un client Windows Communication Foundation précédente au projet client dans Visual Studio. Cliquez avec le bouton droit sur le projet client dans l'Explorateur de solutions, puis sélectionnez successivement Ajouter et Élément existant. Sélectionnez ensuite le fichier de configuration App.config dans le répertoire depuis lequel vous avez exécuté SvcUtil.exe à l'étape précédente. (Ce fichier est nommé App.config car vous avez utilisé le commutateur /config:app.config lors de la génération à l'aide de l'outil Svcutil.exe.) Cliquez sur OK. Par défaut, la boîte de dialogue Ajouter un élément existant élimine par filtrage tous les fichiers portant l'extension .config. Pour afficher ces fichiers, sélectionnez Tous les fichiers (*.*) dans la zone de liste déroulante qui se trouve dans l'angle inférieur droit de la boîte de dialogue Ajouter un élément existant.

  2. Ouvrez le fichier de configuration généré. Svcutil.exe génère des valeurs pour chaque paramètre sur la liaison. L'exemple suivant est une vue du fichier de configuration généré. Sous la section <system.serviceModel>, localisez l'élément <endpoint>. Le fichier de configuration suivant est une version simplifiée du fichier généré.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.serviceModel>
        <bindings>
          <wsHttpBinding>
            <binding name="WSHttpBinding_ICalculator">
            </binding>
          </wsHttpBinding>
        </bindings>
        <client>
          <endpoint
               address="https://localhost:8000/ServiceModelSamples/Service/CalculatorService"
               binding="wsHttpBinding"
               bindingConfiguration="WSHttpBinding_ICalculator"
               contract="Microsoft.ServiceModel.Samples.ICalculator"
               name="WSHttpBinding_ICalculator">
          </endpoint>
        </client>
      </system.serviceModel>
    </configuration> 
    

    Cet exemple configure le point de terminaison que le client utilise pour accéder au service localisé à l'adresse suivante: https://localhost:8000/ServiceModelSamples/service.

    L'élément de point de terminaison spécifie que le contrat Microsoft.ServiceModel.Samples.ICalculator est utilisé pour la communication, qui est configurée avec l'objet WsHttpBinding fourni par le système. Cette liaison spécifie le protocole HTTP pour le transport, la sécurité interopérable et d'autres détails de configuration.

  3. Pour plus d'informations sur le sujet suivant l'utilisation du client généré avec cette configuration, consultez Comment : utiliser un client Windows Communication Foundation.

Exemple

L'exemple présente le contenu des fichiers de configuration générés pour le client.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="WSHttpBinding_ICalculator"     
          closeTimeout="00:01:00"
          openTimeout="00:01:00" 
          receiveTimeout="00:10:00" 
          sendTimeout="00:01:00"
          bypassProxyOnLocal="false" 
          transactionFlow="false"  
          hostNameComparisonMode="StrongWildcard"
          maxBufferPoolSize="524288" 
          maxReceivedMessageSize="65536"
          messageEncoding="Text" 
          textEncoding="utf-8" 
          useDefaultWebProxy="true"
          allowCookies="false">
          <readerQuotas maxDepth="32" 
            maxStringContentLength="8192" 
            maxArrayLength="16384"
            maxBytesPerRead="4096" 
            maxNameTableCharCount="16384" />
          <reliableSession ordered="true" 
            inactivityTimeout="00:10:00"
            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" 
              proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="Windows" 
              negotiateServiceCredential="true"
              algorithmSuite="Default" 
              establishSecurityContext="true" />
           </security>
      </binding>
    </wsHttpBinding>
  </bindings>
  <client>
    <endpoint address="https://localhost:8000/ServiceModelSamples/Service/CalculatorService"
      binding="wsHttpBinding" 
      bindingConfiguration="WSHttpBinding_ICalculator"
      contract="ICalculator" 
      name="WSHttpBinding_ICalculator">
        <identity>
          <userPrincipalName value="user@contoso.com" />
        </identity>
      </endpoint>
    </client>
  </system.serviceModel>
</configuration>

Le client a été configuré. Poursuivez avec Comment : utiliser un client Windows Communication Foundation. Pour obtenir des informations de dépannage, consultez Dépannage du didacticiel de mise en route.

Voir aussi

Tâches

Comment : créer un client Windows Communication Foundation
Getting Started, exemple
Self-Host

Concepts

Utilisation de liaisons pour configurer des services et des clients
Outil Service Model Metadata Tool (Svcutil.exe)