Pesquisar este blog

terça-feira, 21 de fevereiro de 2012

Criando, Hospedando e Consumindo um WCF Service

Neste tutorial, utilizei o Visual Studio 2010, IIS 7.0 e um navegador para vizualisar o conteúdo hospedado.


O projeto é um exemplo muito simples de uma calculadora, onde os métodos são expostos pelo serviço e consumidos por um client.

Iniciamos criando o projeto WCF que será o portador dos métodos do serviço a serem consumidos:

File>New Project>WCF>WCF Service Application

Neste projeto iremos editar  os arquivos Service1.svc.cs e o IService.cs (A interface (Service Contract), responsável por definir quais os métodos(Operation Contracts) a serem expostos pelo serviço.



Após editar os arquivos, é interessante compilarmos a solução para garantir que a mesma está funcionando corretamente.

Feito isso, clique com o botão direito no projeto WCF>Build Deployment Package. Com isto, o Visual Studio irá gerar um pacote na pasta obj>package pronto para ser publicado no IIS.


Agora, para que o serviço seja acessível, é necessário que ele rode em algum lugar. Neste post, usaremos o IIS para hospedar o serviço.


Com o IIS aberto, clique com o botão direito no site que hospedará a aplicação>Implantar>Importar Aplicativo. Em algumas versões dependendo do idioma, o termo implantar, pode aparecer como deploy.

Será exibida a seguinte janela onde apontaremos para nosso pacote gerado anteriormente na pasta obj>package.

Clique em avançar. Serão exibidos os conteúdo que o pacote contém e que serão implantados.


Em seguida, será exibida uma tela onde podemos personalizar o "alias", ou nome da aplicação no site.


Após definir um nome, clique em avançar e em seguida, concluir. Após isso, nossa aplicação teoricamente, deveria estar no ar. Para confirmar, basta abrir um navegador e digitar o endereço da máquina que hospedou a aplicação /(barra)nome da aplicação.


Se você obtiver um resultado igual a este, ou, parecido com este, sua aplicação está no ar.

Agora, criaremos uma aplicação do tipo Console, apenas para consumir o serviço e trazer o resultado.

Abrimos um novo projeto no Visual Studio: File>New>Project>Windows>Console Application

Para consumirmos um serviço, é necessário adicinar uma referência ao mesmo. Portanto, clicamos com o botão direito no projeto>Add Service Reference. Será exibida a seguinte janela:



Caso seu projeto WCF, Esteja na mesma solução do projeto Console, basta clicar no botão Discover e o serviço aparecerá na relação Services. Seguindo a idéia do post, inserimos o mesmo endereço utilizado no browser, apontando para o arquivo ".svc" e ao clicarmos em GO, será encontrado o serviço hospedado no IIS. Ainda na mesma janela, acessando a interface, vemos os métodos expostos pelo serviço. No campo inferior "Namespace" podemos definir o nome para identificação do serviço.
Após editarmos estas informações, basta clicar em OK.



Com isto já possuímos a referência de serviço em nosso projeto console para consumirmos o serviço própriamente dito.
Para consumirmos o serviço, basta instanciarmos um objeto client e a partir dele, efetuar a chamada dos métodos. Em meu teste, chamo a função Calculate passando dois valores decimais e a operação soma.
É uma boa prática, fecharmos a conexão com o serviço após as operações. Ao rodar o código acima, obtive o seguinte resultado:


Simples não? Nos vemos nos próximos posts! =)
Qualquer dúvida, crítica ou sugestão, sintam-se livres em comentar!

Nenhum comentário:

Postar um comentário