Usuário com melhor resposta
DUVIDA - SessionShutdownTrigger

Pergunta
-
Como consigo pegar um valor de uma variavel da classe que emitiu esse envento?
public class SessionShutdownTrigger : IInputSessionShutdown { public void ChannelFaulted(IDuplexContextChannel channel) { try { // Valor da variavel aqui. Console.WriteLine("ChannelFaulted"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } public void DoneReceiving(IDuplexContextChannel channel) { Console.WriteLine("DoneReceiving"); } } public class SessionShutdownTriggerBehaviorAttribute : Attribute, IContractBehavior { public void ApplyDispatchBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, DispatchRuntime dispatchRuntime) { dispatchRuntime.InputSessionShutdownHandlers.Add(new SessionShutdownTrigger()); } }
Criei o atributo e "decorei" a classe do serviço.
obrigado!
Respostas
-
Boas Alan,
Note que os métodos recebem uma classe que implementa a interface IDuplexContextChannel, que por sua vez, expõe uma propriedade chamada CallbackInstance, que traz informações pertinentes ao canal de processamento com o cliente. Talvez você possa utilizá-la para a tua regra.
Ou ainda, recorrer a classe OperationContext, e lá conseguir acessar algumas informações, como é o caso do SessionId do cliente.
http://www.israelaece.com- Marcado como Resposta Alan Ferreira Leite sábado, 11 de setembro de 2010 00:33
Todas as Respostas
-
-
-
Boas Alan,
Note que os métodos recebem uma classe que implementa a interface IDuplexContextChannel, que por sua vez, expõe uma propriedade chamada CallbackInstance, que traz informações pertinentes ao canal de processamento com o cliente. Talvez você possa utilizá-la para a tua regra.
Ou ainda, recorrer a classe OperationContext, e lá conseguir acessar algumas informações, como é o caso do SessionId do cliente.
http://www.israelaece.com- Marcado como Resposta Alan Ferreira Leite sábado, 11 de setembro de 2010 00:33
-
-