Compartir a través de


Configuración de un cliente básico de Windows Communication Foundation

Ésta es la quinta de las seis tareas necesarias para crear un servicio de Windows Communication Foundation (WCF) básico y un cliente que pueda llamar al servicio. Para obtener información general de las seis tareas, consulte el tema Tutorial de introducción.

En este tema se agrega el archivo de configuración del cliente generado mediante la Herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe) en el proyecto del cliente y se explica el contenido de los elementos de configuración del cliente. La configuración del cliente consiste en especificar el extremo que utiliza el cliente para obtener acceso al servicio. Un extremo tiene una dirección, un enlace y un contrato y cada uno de estos elementos debe especificarse en el proceso de configuración del cliente.

El contenido de los archivos de configuración generados para el cliente se proporciona en el ejemplo después del procedimiento.

Configuración de un cliente de Windows Communication Foundation

  1. Agregue el archivo de configuración App.config generado en el procedimiento Creación de un cliente de Windows Communication Foundation anterior al proyecto del cliente en Visual Studio. Haga clic con el botón secundario en el proyecto de cliente en el Explorador de soluciones, seleccione Agregar y, a continuación, Elemento existente. A continuación, seleccione el archivo de configuración App.config en el directorio desde el que ejecutó SvcUtil.exe en el paso anterior. (El archivo se llama App.config porque se usó el modificador /config:app.config al generarlo con la herramienta Svcutil.exe.) Haga clic en Aceptar. De forma predeterminada, el filtro del cuadro de diálogo Agregar elemento existente descarta todos los archivos con extensión .config. Para ver estos archivos, seleccione Todos los archivos (*.*) en el cuadro de lista desplegable situado en la esquina inferior derecha del cuadro de diálogo Agregar elemento existente.

  2. Abra el archivo de configuración generado. Svcutil.exe genera valores para cada ajuste del enlace. El siguiente ejemplo es una vista del archivo de configuración generado. Bajo la sección <system.serviceModel>, busque el elemento <endpoint>. El siguiente archivo de configuración es una versión simplificada del archivo generado.

    <?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> 
    

    Este ejemplo configura el extremo que utiliza el cliente para tener acceso al servicio que se ubica en la siguiente dirección: https://localhost:8000/ServiceModelSamples/service

    El elemento de extremo especifica que el contrato Microsoft.ServiceModel.Samples.ICalculator se utiliza para la comunicación, que está configurada con el WsHttpBinding proporcionado por sistema. Este enlace especifica HTTP como el transporte, la seguridad interoperable y otros detalles de configuración.

  3. Para obtener más información sobre uso del cliente generado con esta configuración, vea Cómo usar un cliente de Windows Communication Foundation.

Ejemplo

El ejemplo muestra el contenido de los archivos de configuración generados para el cliente.

<?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>

Ahora se ha configurado el cliente. Continúe en Cómo usar un cliente de Windows Communication Foundation. Para obtener más información para solucionar problemas, consulte Solución de problemas con el tutorial de introducción.

Vea también

Tareas

Creación de un cliente de Windows Communication Foundation
Ejemplo de introducción
Autohospedaje

Conceptos

Utilización de enlaces para configurar servicios y clientes
Herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe)