Criando seu primeiro serviço com WCF

Olá pessoal, hoje vou mostrar para vocês passo-a-passo como criar um serviço WCF com o Visual Studio 2008 SP1.

Vamos criar um serviço de calculadora, realizando algumas operações básicas, como: somar, subtrair, multiplicar e dividir. Devemos começar criando um projeto WCF escolhendo WCF Service Library entre as opções existentes.

image

O Wizard do Visual Studio cria o projeto com alguns arquivos para você.

image 

Renomeie os arquivos IService1.cs e Service1.cs para ICalcService.cs e CalcService.cs, fazendo o seu projeto ficar assim:

image

Remova parte do código do arquivo ICalcService gerado pelo Wizard do Visual Studio para que ele fique assim:

image

É importante notar o atributo ServiceContract decorando a interface, ele é o responsável de indicar para o runtime do WCF que toda classe que implementar esta interface estará expondo um serviço.

O próximo passo é indicar os métodos que o serviço irá expor, feito através do atributo OperationContract. Adicione o seguinte código na sua interface:

image

No final o código da sua interface deve ficar mais ou menos assim:

image

Devemos agora trabalhar no código que contém a inteligência do serviço, para isso, remova parte do código do arquivo CalcService.cs gerado pelo wizard do Visual Studio fazendo-o ficar assim:

image

Agora implemente os métodos da interface e a sua classe deverá ficar assim:

image

Neste ponto o nosso serviço de calculadora está pronto e precisamos testá-lo. Para facilitar o processo de desenvolvimento, o Visual Studio possui uma aplicação para hospedagem de serviços e outra aplicação para consumir os serviços, vamos utilizá-las nos nossos testes.

Execute o serviço pressionando F5 e a aplicação de teste logo é exibida.

image

Clique duas vezes em um método do serviço, por exemplo, o Add, preencha os valores dos parâmetros x e y do método e depois clique no botão Invoke.

Note que na parte de baixo da tela é exibida a informação do retorno do serviço, no caso do teste realizado o valor 3.

image 

O objetivo deste post era de mostrar uma introdução ao mundo WCF criando um serviço bem simples. Os próximos passos que vocês devem se preocupar são a hospedagem customizada em uma aplicação server e o seu consumo nas aplicações client, temas que serão cobertos nos próximos posts.

Espero que vocês tenham gostado e até a próxima.

[Update]

O código fonte pode ser baixado aqui.