Usuário com melhor resposta
Pegar uma referencia da Classe de Serviço do WCF

Pergunta
-
Respostas
-
Boas Marcio,
Apesar de ser tecnicamente possível, eu não acho que seja um bom design, mesmo porque a classe que representa o serviço, provavelmente é criada e mantida pelo próprio runtime do WCF.
Se você define a classe do serviço como sendo Single, ou seja, que haverá uma única instância para atender a todas as requisições, então você poderia fazer qualquer coisa do tipo:
public class ServiceWrapper
{
public static ServicoDeClientes ServiceInstance = new ServicoDeClientes();
public void Open()
{
ServiceHost h =
new ServiceHost(ServiceInstance, new Uri[] { new Uri("net.tcp://localhost:9292") });
h.Open();
}
}
E depois, quando precisar acessar a classe do serviço:
Console.WriteLine(ServiceWrapper.ServiceInstance.AlgumaPropriedade);
http://www.israelaece.com- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 13 de maio de 2010 17:43
- Marcado como Resposta marcio.chiaveli quinta-feira, 13 de maio de 2010 17:44
Todas as Respostas
-
Boas Marcio,
A forma mais coerente, é passar isso como parâmetro para o seu componente de regra de negócio.
http://www.israelaece.com- Sugerido como Resposta AndreAlvesLimaModerator quarta-feira, 12 de maio de 2010 19:17
- Não Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 13 de maio de 2010 17:43
-
-
Boas Marcio,
Apesar de ser tecnicamente possível, eu não acho que seja um bom design, mesmo porque a classe que representa o serviço, provavelmente é criada e mantida pelo próprio runtime do WCF.
Se você define a classe do serviço como sendo Single, ou seja, que haverá uma única instância para atender a todas as requisições, então você poderia fazer qualquer coisa do tipo:
public class ServiceWrapper
{
public static ServicoDeClientes ServiceInstance = new ServicoDeClientes();
public void Open()
{
ServiceHost h =
new ServiceHost(ServiceInstance, new Uri[] { new Uri("net.tcp://localhost:9292") });
h.Open();
}
}
E depois, quando precisar acessar a classe do serviço:
Console.WriteLine(ServiceWrapper.ServiceInstance.AlgumaPropriedade);
http://www.israelaece.com- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 13 de maio de 2010 17:43
- Marcado como Resposta marcio.chiaveli quinta-feira, 13 de maio de 2010 17:44