Gravar um serviço Web usando o Visual C# .NET

Este artigo ajuda você a escrever um serviço Web, chamado MathService, que expõe métodos para adicionar, subtrair, dividir e multiplicar dois números.

Versão original do produto: Visual C# .NET
Número de KB original: 308359

Requisitos

A lista a seguir descreve o hardware, software, habilidades e conhecimentos recomendados que você precisa:

  • Microsoft Windows
  • Servidor de Informações da Internet
  • Visual Studio .NET

Este artigo pressupõe que você esteja familiarizado com o tópico: Como usar o ambiente de desenvolvimento integrado do Visual Studio .NET.

Gravar um serviço Web .asmx

  1. Abra o Visual Studio .NET.

  2. No menu Arquivo , selecione Novo e selecione Projeto. Em Tipos de projeto, selecione Projetos do Visual C#. Em seguida, selecione ASP.NET Serviço Web em Modelos. Digite MathService na caixa de texto Local para alterar o nome padrão (WebService1) para MathService.

  3. Altere o nome do serviço Web padrão criado de Service1.asmx para MathService.asmx.

  4. Selecione Clicar para alternar para exibição de código no ambiente do designer.

  5. Defina métodos que encapsulam a funcionalidade do serviço. Cada método que será exposto do serviço deve ser sinalizado com um WebMethod atributo na frente dele. Sem esse atributo, o método não será exposto do serviço.

    Observação

    Nem todo método precisa ter o WebMethod atributo. É útil ocultar alguns detalhes de implementação chamados por métodos de serviço Web público ou para o caso em que a WebService classe também é usada em aplicativos locais. Um aplicativo local pode usar qualquer classe pública, mas somente WebMethod os métodos serão remotamente acessíveis como serviços Web.

    Adicione o seguinte método à MathServices classe que você criou:

    [WebMethod]
    public int Add(int a, int b)
    {
      return(a + b);
    }
    [WebMethod]
    public System.Single Subtract(System.Single A, System.Single B)
    {
      return (A - B);
    }
    [WebMethod]
    public System.Single Multiply(System.Single A, System.Single B)
    {
      return A * B;
    }
    [WebMethod]
    public System.Single Divide(System.Single A, System.Single B)
    {
      if(B == 0) return -1;
      return Convert.ToSingle(A / B);
    }
    
  6. Selecione Compilar no menu Compilar para criar o serviço Web.

  7. Navegue até a página do serviço Web MathService.asmx para testar o serviço Web. Se você definir o computador local para hospedar a página, a URL será http://localhost/MathService/MathService.asmx.

O runtime ASP.NET retorna uma Página de Ajuda do Serviço Web que descreve o serviço Web. Esta página também permite que você teste diferentes métodos de serviço Web.

Consumir um serviço Web

  1. Abra o Visual Studio .NET.

  2. Em Tipos de projeto, selecione Projetos do Visual C# e selecione Aplicativo de Console em Modelos.

  3. Adicione uma referência para o serviço Web MathService ao novo aplicativo de console.

    Essa etapa cria uma classe proxy no computador cliente. Depois que a classe proxy existir, você poderá criar objetos com base na classe. Cada chamada de método feita com o objeto, em seguida, vai para o URI (identificador de recurso uniforme) do serviço Web (geralmente como uma solicitação SOAP).

    1. No menu Projeto , selecione Adicionar Referência da Web.
    2. Na caixa de diálogo Adicionar Referência da Web , digite a URL do serviço Web na caixa de texto Endereço e pressione ENTER. Se você definir o computador local para hospedar o serviço Web, a URL será http://localhost/MathService/MathService.asmx.
    3. Selecione Adicionar Referência. Como alternativa, você pode digitar a URL para o arquivo de descoberta (MathService.vsdisco) ou selecionar Referências da Web no Servidor Web Local no painel esquerdo para selecionar o serviço MathService na lista.
    4. Expanda a seção Referências da Web do Gerenciador de Soluções e observe o namespace usado.
  4. Crie uma instância do objeto proxy que foi criado. Coloque o seguinte código na função chamada Main:

    localhost.Service1 myMathService = new localhost.Service1();
    
  5. Invoque um método no objeto proxy que você criou na etapa anterior, da seguinte maneira:

    Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
    
  6. Selecione Compilar no menu Build para criar o aplicativo de console.

  7. Selecione Iniciar no menu Depurar para testar o aplicativo.

  8. Feche e salve o projeto.

Referências

Para obter mais informações, confira o tópico Programação da Web com Serviços Web no Visual Studio .NET Help ou o tópico ASP.NET Web Services e ASP.NET Clientes do Serviço Web no Guia do Desenvolvedor do .NET Framework.

Para obter mais informações, consulte os seguintes sites: