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

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


WCF - Artigo .net Magazine 85

Neste artigo abordaremos um dos assuntos de extrema importância no Windows Communication Foundation - WCF, o gerenciamento de instâncias. Mostraremos os tipos de instâncias existentes, e em quais situações melhor utilizá-las, e em seguida usaremos alguns conceitos, criando uma aplicação.






WCF
Gerenciamento de instâncias

 

Gerenciamento de instância é uma técnica usada pelo Windows Communication Foundation, que vincula o cliente (Proxy) ao serviço, determinando quais delas lidam com quais requisições. Saber qual técnica usar é muito importante porque aplicativos diferem de suas necessidades como escalabilidade, desempenho, transações e chamadas em filas. No Windows Communication Foundation existem três tipos de instâncias, são elas: PerCall, PerSession e Single. A configuração do modo como será instanciado um serviço é estritamente um detalhe de implementação que não deve transparecer para o cliente de forma alguma. O modo de como será a escolha da instância, será dado em comportamentos (behavior).
Um behavior é um atributo local de um serviço que não afeta sua comunicação, que pode ser definido opcionalmente. Os clientes não precisam saber da existência dos behaviors. O Windows Communication Foundation define três tipos de behaviors: ServiceBehavior, OperationBehavior e EndPointBehavior. No artigo é utilizado o ServiceBehavior, pois esse atributo é usado para configurar o modo de gerenciamento de instâncias. Nele existe uma propriedade InstanceContextMode, que recebe uma enumeração com o mesmo nome. O valor dessa enumeração controla qual o modelo de instância é utilizado: InstanceContextMode.PerSession, InstanceContextMode.PerCall, InstanceContextMode.Single. O ServiceBehaviorAttribute é usado para configurar comportamentos de operação, ou seja, afetam somente a implementação de uma operação em particular. É nesse atributo, que se informam configurações adicionais como sessões, transações e o modelos de instâncias.
PerCall
Quando o serviço é configurado no modo PerCall somente uma instância existe para cada método chamado, ou seja, para cada Proxy instanciado e chamado um método por ele. Uma instância do serviço é criada, não importando sé é o mesmo Proxy ou não, conforme Figura 1.

 


Assim que o método retornar com o resultado esperado a instância é liberada da memória. Descartar a instância é um item muito importante a se lembrar, e que se o serviço implementar a interface IDisposable, o Windows Communication Foundation automaticamente chamará o método Dispose(), permitindo que se execute qualquer operação de finalização que seja necessária antes de descartá-lo. No modelo de instância PerCall o Dispose é executado na mesma thread que executou a chamada ao método original.
Ter somente uma instância por chamada, realocar ou conectar seus recursos em cada chamada combina muito bem com programação transacional, uma vez que facilita a tarefa de garantir consistência com os estados da instância (para saber mais sobre transação no WCF veja a edição 82). Outro beneficio é que eles podem trabalhar em conjunto com chamadas desconectadas enfileiradas, porque facilitam o mapeamento de instâncias de serviços para mensagens enfileiradas.
"


ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    2 COMENTÁRIOS

[Fechar]

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



Marcio Augusto Da Silva
o video não esta funcionando
[há +1 ano] - Responder

 

Devmedia - Equipe De Moderacao
Marcio, o video já foi corrigido.

Atenciosamente,

Equipe Devmedia.
[há +1 ano] - Responder
 



Publicidade
Autor
Fernando Rodrigues Da Silva

Formado em Sistemas de Informação e pós graduado em Engenharia de Software pela FIT. Trabalha com a plataforma .NET há 6 anos, atualmente trabalha na FCamara.


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á fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03