Partilhar via


Serviço HTTP Básico

O exemplo BasicHttpService demonstra como implementar um serviço baseado em HTTP e baseado em RPC - popularmente conhecido como serviço "POX" (Plain Old XML) - usando o modelo de programação REST do Windows Communication Foundation (WCF). Este exemplo consiste em dois componentes: um serviço HTTP WCF auto-hospedado (Service.cs) e um aplicativo de console (Program.cs) que cria o serviço e faz chamadas para ele.

Detalhes da amostra

O serviço WCF expõe 2 operações EchoWithGet e EchoWithPost, que retorna a cadeia de caracteres que foi passada como entrada.

A EchoWithGet operação é anotada com WebGetAttribute, o que indica que a operação processa solicitações HTTP GET . Como o WebGetAttribute não especifica explicitamente um UriTemplate, a operação espera que a cadeia de caracteres de entrada seja passada usando um parâmetro de cadeia de caracteres de consulta com nome s. Observe que o formato do URI esperado pelo serviço pode ser personalizado usando a UriTemplate propriedade.

A EchoWithPost operação é anotada com WebInvokeAttribute, o que indica que não é uma GET operação (tem efeitos colaterais). Como o WebInvokeAttribute não especifica explicitamente um Method, a operação processa solicitações HTTP POST que têm a cadeia de caracteres no corpo da solicitação (no formato XML, por exemplo). Observe que o método HTTP e o formato do URI para a solicitação podem ser personalizados usando as Method propriedades e UriTemplate respectivamente.

O arquivo App.config configura o serviço WCF com um padrão WebHttpEndpoint que tem a HelpEnabled propriedade definida como true. Como resultado, a infraestrutura do WCF cria uma página de ajuda automática baseada em HTML que http://localhost:8000/Customers/help fornece informações sobre como construir solicitações HTTP para o serviço e como consumir a resposta HTTP do serviço.

Program.cs demonstra como uma fábrica de canais WCF pode ser usada para fazer chamadas para o serviço e processar respostas. Observe que essa é apenas uma maneira de acessar um serviço WCF. Também é possível acessar o serviço usando outras classes do .NET Framework como HttpWebRequest e WebClient.

O exemplo consiste em um serviço auto-hospedado e um cliente que são executados em um aplicativo de console. À medida que o aplicativo de console é executado, o cliente faz solicitações ao serviço e grava as informações pertinentes das respostas na janela do console.

Para usar este exemplo

  1. Abra a solução para o Exemplo de serviço http básico. Ao iniciar o Visual Studio 2012, você deve executar como administrador para que o exemplo seja executado com êxito. Faça isso clicando com o botão direito do mouse no ícone do Visual Studio e selecionando Executar como administrador no menu de contexto.

  2. Pressione Ctrl+Shift+B para criar a solução e, em seguida, pressione Ctrl+F5 para executar o aplicativo de console sem depuração. A janela do console aparece e fornece o URI do serviço em execução e o URI da página de ajuda HTML para o serviço em execução. A qualquer momento, você pode exibir a página de ajuda HTML digitando o URI da página de ajuda em um navegador. À medida que o exemplo é executado, o cliente grava o status da atividade atual.

  3. Pressione qualquer tecla para encerrar a amostra.