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.





.net Magazine 85

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da .net Magazine 85


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.
"
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!


Fernando Rodrigues Da Silva
MCTS - Pós graduado em Engenharia de Software. Trabalha com a plataforma .NET há 9 anos, atualmente trabalha na FCamara.
O que você achou deste post?

    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
 
Cursos relacionados
Publicidade
[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
2013 - Todos os Direitos Reservados a web-03