Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

Configuração no cliente - WCF

Neste artigo veremos como configurar o cliente no WCF, como criar o Proxy para consumir o serviço e quais os tipos de Proxy existente.


Veja neste artigo onde falamos sobre WCF, para podermos usar os serviços WCF, é necessário referenciar o serviço.  Essa referencia devera ter uma classe que encapsulará o acesso ao serviço, que é conhecido como Proxy.

O Proxy terá acesso aos dados do serviço (Metadados) ficando com os métodos expostos, dando a impressão que o serviço esta rodando na máquina local, mas que em tempo de execução, será feita uma requisição para o serviço remoto.

O Proxy poderá ser feito de três formas, por uma referencia feita pelo Visual Studio com a opção Add Service Reference, onde é necessário fazer a referencia do serviço.A outra é pelo utilitário svcutil.exe, onde é fornecido o endereço do serviço, ela é capaz de gerar o Proxy, criando uma classe do serviço e um arquivo de configuração.

Essas duas opções, suas configurações são feitas por um arquivo de configuração (declarativa).

A terceira e ultima forma é de forma manual, e para isso é necessário conhecer todo o serviço como binding e o endereço.

Um exemplo de Proxy no cliente.

using (Mensagem.MensagemClient proxy = new Mensagem.MensagemClient("NetTcpBinding_IMensagem"))
{

     Console.WriteLine(proxy.MensagemBoasVindas());
    Console.ReadKey();
 }


Uma coisa importante que devemos saber se colocarmos um bloco using dentro de um Proxy é necessário tomar muito cuidado, pois como em bloco using no final de seu bloco, o mesmo chamara um método dispose, e com o método dispose vem o método close fechando a comunicação ou tentando, agora se no meio da operação ocorrer um erro, o método close poderá fazer uso de outra comunicação e se ocorrer um erro nesse momento um exception do tipo CommunicationObjectFaultedException  será lançada, mascarando o real problema.

Para corrigir esse problema podemos chamar o método Abort onde será encerrada a comunicação entre o cliente e o serviço.

Veja um exemplo abaixo

Mensagem.MensagemClient proxy = new Mensagem.MensagemClient ("NetTcpBinding_IMensagem");

try
{
  Console.WriteLine(proxy.MensagemBoasVindas());
  proxy.Close();
}
 catch (CommunicationException e)
 {
     proxy.Abort();
 }
 catch (TimeoutException e)
 {
     proxy.Abort();
 }
 catch (Exception e)
 {
     proxy.Abort();
 throw;
 }


Até o próximo artigo.
Fernando R. Silva

http://www.nandosilva.com





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Autor
Fernando Rodrigues Da Silva

É analisata programador .Net, atualmente trabalha como Developer na F|Camara. nando_dasilva@ig.com.br


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível somente para quem possui Créditos DevMedia. (Ele não está associado a nenhuma publicação DevMedia).


  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03