Pergunta

Meu colega se viu em uma situação "interessante". Ele está trabalhando em um protótipo Silverlight (2.0) que precisa chamar os serviços da Web existentes na empresa e vincular os dados retornados aos controles de exibição de dados. O problema é que os conjuntos de dados .NET Services retornam (eles não estão prestes a alterar as implementações existentes) e o Silverlight não oferece suporte a conjuntos de dados nativamente.

Qual seria uma boa solução alternativa? Eu estava pensando em um padrão de adaptador, mas não sei se os serviços da web do intermediário para realizar transformações seriam uma ideia muito boa. Pode ser tedioso se houver muitos serviços da Web existentes.

Foi útil?

Solução

Afaik, quando um serviço da web .NET retorna um conjunto de dados, ele retorna sua representação XML (que é bastante amigável). O fato de um cliente .NET poder consumir o conjunto de dados abstraça diretamente o fato de que uma serialização XML está ocorrendo.

Então, eu consultei manualmente os serviços da Web que você precisa, observaria o XML gerado e depois a analisava no lado do cliente.

Outra possibilidade é tirar proveito do fato de que os serviços da Web usam o serializador XML padrão, para que você possa criar as classes C# a partir do esquema retornado e, em seguida, deixar o XMLSerializer lidar automaticamente. Não tenho certeza se o código gerado pela ferramenta XSD.exe será amigável ao Silverlight, mas vale a pena dar uma foto.

Outras dicas

Experimente o seguinte: http://silverlightdataset.net

Os perigos e a desagradável sobrevivência dos conjuntos de dados eh. Eu usaria um proxy genérico responsável por consumir o webMethod e transformar o conjunto de dados em xml/json

Sim, Silverlight ds é uma ótima solução, eles até têm relacionamentos incorporados a ele

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top