Compartilhar via


Tutorial: Criar um cliente do Windows Communication Foundation

Este tutorial descreve a quarta de cinco tarefas necessárias para criar um aplicativo básico do Windows Communication Foundation (WCF). Para obter uma visão geral dos tutoriais, consulte Tutorial: Introdução aos aplicativos do Windows Communication Foundation.

A próxima tarefa para criar um aplicativo WCF é criar um cliente recuperando metadados de um serviço WCF. Você usa o Visual Studio para adicionar uma referência de serviço, que obtém os metadados do ponto de extremidade MEX do serviço. Em seguida, o Visual Studio gera um arquivo de código-fonte gerenciado para um proxy de cliente na linguagem escolhida. Ele também cria um arquivo de configuração do cliente (App.config). Esse arquivo permite que o aplicativo cliente se conecte ao serviço em um ponto de extremidade.

Observação

Se você chamar um serviço WCF de um projeto de biblioteca de classes no Visual Studio você pode usar o recurso de Adicionar Referência de Serviço para gerar automaticamente um proxy e um arquivo de configuração associado. No entanto, como os projetos de biblioteca de classes não usam esse arquivo de configuração, você precisa adicionar as configurações no arquivo de configuração gerado ao arquivo App.config para o executável que chama a biblioteca de classes.

Observação

Como alternativa, use a ferramenta Utilitário de Metadados do ServiceModel em vez do Visual Studio para gerar a classe proxy e o arquivo de configuração.

O aplicativo cliente usa a classe proxy gerada para se comunicar com o serviço. Este procedimento é descrito no Tutorial: Usar um cliente.

Neste tutorial, você aprenderá a:

  • Crie e configure um projeto de aplicativo de console para o cliente WCF.
  • Adicione uma referência de serviço ao serviço WCF para gerar a classe proxy e os arquivos de configuração.

Criar um cliente do Windows Communication Foundation

  1. Crie um projeto de aplicativo de console no Visual Studio:

    1. No menu Arquivo, selecione Abrir>Projeto/Solução e navegue até a solução GettingStarted que você criou anteriormente (GettingStarted.sln). Selecione Abrir.

    2. No menu Exibir, clique em Gerenciador de Soluções.

    3. Na janela Gerenciador de Soluções, selecione a solução GettingStarted (nó superior) e, em seguida, selecione Adicionar>Novo Projeto no menu de atalho.

    4. Na janela Adicionar Novo Projeto, no lado esquerdo, selecione a categoria Área de trabalho do Windows em C# do Visual ou Visual Basic.

    5. Selecione o modelo de Aplicativo de Console (.NET Framework) e insira GettingStartedClient para o Nome. Selecione OK.

  2. Adicione uma referência no projeto GettingStartedClient ao assembly System.ServiceModel:

    1. Na janela Gerenciador de Soluções, selecione a pasta Referências no projeto GettingStartedClient e selecione Adicionar Referência no menu de atalho.

    2. Na janela Adicionar Referência, em Assemblies no lado esquerdo da janela, selecione Framework.

    3. Localize e selecione System.ServiceModel e escolha OK.

    4. Salve a solução selecionando Arquivo>Salvar Tudo.

  3. Adicione uma referência de serviço para o serviço de calculadora:

    1. Na janela Gerenciador de Soluções, selecione a pasta Referências no projeto GettingStartedClient e selecione Adicionar Referência de Serviço no menu de atalho.

    2. Na janela Adicionar Referência de Serviço, selecione Descobrir.

      O serviço CalculatorService é iniciado e o Visual Studio o exibe na caixa Serviços.

    3. Selecione CalculatorService para expandi-lo e exibir os contratos de serviço implementados pelo serviço. Deixe o Namespace padrão e escolha OK.

      O Visual Studio adiciona um novo item na pasta Serviços Conectados no projeto GettingStartedClient.

Ferramenta Utilitário de Metadados do ServiceModel

Os exemplos a seguir mostram como usar opcionalmente a ferramenta Utilitário de Metadados do ServiceModel (Svcutil.exe) para gerar o arquivo de classe proxy. Essa ferramenta gera o arquivo de classe proxy e o arquivo App.config. Os exemplos a seguir mostram como gerar o proxy no C# e no Visual Basic, respectivamente:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/GettingStarted/CalculatorService
svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http://localhost:8000/GettingStarted/CalculatorService

Arquivo de configuração de cliente

Depois de criar o cliente, o Visual Studio cria o arquivo de configuração App.config no projeto GettingStartedClient, que deve ser semelhante ao seguinte exemplo:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup>
            <!-- specifies the version of WCF to use-->
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        </startup>
        <system.serviceModel>
            <bindings>
                <!-- Uses wsHttpBinding-->
                <wsHttpBinding>
                    <binding name="WSHttpBinding_ICalculator" />
                </wsHttpBinding>
            </bindings>
            <client>
                <!-- specifies the endpoint to use when calling the service -->
                <endpoint address="http://localhost:8000/GettingStarted/CalculatorService"
                    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator"
                    contract="ServiceReference1.ICalculator" name="WSHttpBinding_ICalculator">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
            </client>
        </system.serviceModel>
    </configuration>

Na seção <system.serviceModel>, observe o elemento <ponto de extremidade>. O elemento <ponto de extremidade> define o ponto de extremidade que o cliente usa para acessar o serviço da seguinte maneira:

  • Endereço: http://localhost:8000/GettingStarted/CalculatorService. O endereço do ponto de extremidade.
  • Contrato de serviço: ServiceReference1.ICalculator. O contrato de serviço trata da comunicação entre o cliente WCF e o serviço. O Visual Studio gerou esse contrato quando você usou a função Adicionar Referência de Serviço. Ele é essencialmente uma cópia do contrato que você definiu no projeto GettingStartedLib.
  • Associação: WSHttpBinding. A associação especifica HTTP como o transporte, a segurança interoperável e outros detalhes de configuração.

Próximas etapas

Neste tutorial, você aprendeu a:

  • Crie e configure um projeto de aplicativo de console para o cliente WCF.
  • Adicione uma referência de serviço ao serviço WCF para gerar a classe proxy e os arquivos de configuração para o aplicativo cliente.

Avance para o próximo tutorial para saber como usar o cliente gerado: