Inquiridor
Classes em WebService

Pergunta
-
Olá pessoal,
To com uma dúvida que acho que deve ser simples de responder.
Estou criando um webservice com várias classes e cada classe com seus vários metodos.
Eu queria que quando for utilizar meu webservice eu só tivesse re referenciar sua URL uma unica vez e ter todos as classes e metodos tipo:
dim p as MeuWebService.Produto
p.retornaproduto()
Dim c as MeuWebService.Cliente
c.RetornaCliente()
entendeu?? Eu queria numa unica instancia ter todos das minhas classes e dentro delas meus métodos, mas só to conseguindo fazer assim se criar vários arquivos .asmx e consequentemente cada um teria uma URL. ou Colocasse todos os meus métodos dentro do mesmo arquivo .asmx mas isoo é errado.
Obrigado
Alex
"A casa caiu mas enchemos outra laje"
- Movido Seilor Bonancio Junior segunda-feira, 25 de fevereiro de 2013 13:41
Todas as Respostas
-
Caro Alex...
Desenvolvi uma aplicação Web Service e me deparei com o mesmo problema...para solucionar eu separei as classes do arquivo asmx....o asmx ficou somente para publicação das classes com seus métodos......o arquivo asmx está publicando todos os métodos ou até mesmo a classe inteira instanciada....
Possuo classe de controle de Produto (cProduto.cs) ...Controle de Biometria (cBiometria.cs)...Controle de Vendas (cVendas.cs)....porem publico todas as classes e métodos via um único asmx chamado wsVenda....
Na aplicação onde estou consumindo esse WS...eu somente instancio a classe wsVenda.....e utilizo todas as funções descritas acima...
Não sei se é a melhor maneira....mas pra mim resolveu e ficou bem fácil manutenção.....pois fica tudo separado....da publicação com as classes com as regra de negócio..
Espero ter ajudado...
Obrigado...
Gustavo Gouveia...
- Sugerido como Resposta Gustavo.Gouveia terça-feira, 19 de março de 2013 18:12
-
-
Amigo Alex,
Basta você instanciar as classes no asmx.
tipo assim:
[WebMethod] [return: XmlElement(typeof(ENTIDADE.Preco))] public List<ENTIDADE.Preco> Listar() { DOMINIO.Preco instancia = new DOMINIO.Preco(); List<ENTIDADE.Preco> lista = instancia.RetornarListaDB(); instancia.Dispose(); return lista; } [WebMethod] [return: XmlElement(typeof(ENTIDADE.Cliente))] public List<ENTIDADE.Cliente> listarCliente() { DOMINIO.Cliente cliente = new DOMINIO.Cliente(); List<ENTIDADE.Cliente> lista = cliente.RetornarLista(); cliente.Dispose(); return lista; }
- Sugerido como Resposta Julio ArrudaMVP segunda-feira, 1 de julho de 2013 18:54