Usuário com melhor resposta
WCF passando DataTable

Pergunta
-
Respostas
-
Ola Renato,
Eis aqui um exemplo: http://www.falafel.com/community/blogs/wcf/archive/2006/04/22/WCF-A-Simple-Generic-Data-Serivce.aspx
Mas, mais importante do que ele é o que o Ali diz aqui: http://blogs.msdn.com/a_pasha/archive/2006/03/08/543779.aspx
Todas as Respostas
-
Ola Renato,
Sim, você pode retornar. Apenas atente-se a DataTables tipados: http://blogs.msdn.com/lifenglu/archive/2007/08/01/passing-datatable-across-web-wcf-services.aspx -
-
-
Seria com o datatable apenas. Fiz o serviço retornando um datatable tipado, sendo que ao consumir dá erro de cast. Então coloquei sem ser tipado e tb ocorre o mesmo erro de cast. Acabei serializando para xml, depois compacto e retorno a string compactada, do lado que recebe a string descompacto, e carrego o datatable pelo xml. O que resolveu o problema.
Mas a dúvida em si continua, como fazer para retornar um datatset. Teria alguma tag em especial??
-
Ola Renato,
Eis aqui um exemplo: http://www.falafel.com/community/blogs/wcf/archive/2006/04/22/WCF-A-Simple-Generic-Data-Serivce.aspx
Mas, mais importante do que ele é o que o Ali diz aqui: http://blogs.msdn.com/a_pasha/archive/2006/03/08/543779.aspx -
Saudações Israel,
Ótimo material que achou. Obrigado!!!
Li sobre a questão de se usar DataSet com WCF. Concordo com o que foi exposto, de fato se criar um serviço para expor para terceiros independendo de plataforma e linguagem o uso do DataSet não seria recomendável. Mas não seria o meu caso.
Li outras opiniões sobre o assunto, e muitos abordavam que o "mais correto" seria o velho mapeamento Objeto Relacional e utilizar Collections. Realmente para interoperabilidade acredito ser o melhor modelo, em contrapartida, o ganho detempo com o uso de dataset é indiscutível, com a versão 2005 configurando o DataAdapter, utilizar os componentes datas, ganha-se muito tempo.
Nunca preferir economizar tempo gerando um código ruim, mas não é o caso, Utilizo camadas, com facil manutenção, e com possibilidade de estender os componentes, não ficando refém de código pronto..realmente uma IDE fantástica...rs.
Mas isso tudo tem o DataSet como alicerce, e também foi a "idéia vendida" pela Microsoft desde a versão 1.0. Acredito que essa facilidade não seria abandonada pelos desenvolvedores sem "revolta"..rs A microsoft poderia fazer uma IDE que monta-se o mapeamento Objeto Relacional equivalente ao que temos hoje com o DataSet, ai ficariamos no "mundo ideal" com o ganho de tempo no desenvolvimento.
-
Ola Renato,
Você ainda tem a facilidade de expor Datasets via WCF. A questão é que a Microsoft parece-me mais preocupada com a questão SOA. Se analisar mesmo, verá que existe bastante malabarismo por parte de empresas que não utilizam .NET para o consumo destes WebServices.
O Dataset sendo exposto pelos WSs trabalham bem com .NET, mas em outras linguagens há um certo trabalho para tentar encontrar um tipo correspondente.