Silverlight与DataSet Web服务的交互

时间:2008-09-18 13:02:15

标签: silverlight

我的同事发现自己陷入了“有趣”的境地。他正在开发一个Silverlight(2.0)原型,需要调用企业中的现有Web服务并将返回的数据绑定到数据显示控件。问题是,Web服务返回.NET DataSet(它们不会改变现有的实现),Silverlight本身不支持DataSet。

一个好的解决方法是什么?我在想一个适配器模式,但不知道进行转换的中间人Web服务是否是一个非常好的主意。如果有许多现有的Web服务,可能会很乏味。

4 个答案:

答案 0 :(得分:1)

AFAIK,当.NET Web服务返回DataSet时,它返回其XML表示(非常友好)。 .NET客户端可以直接使用DataSet这一事实只会抽象出Xml序列化 - 反序列化正在发生的事实。

因此,我将手动查询您需要的Web服务,观察生成的XML,然后在客户端解析它。

另一种可能性是利用Web Services使用标准XML Serializer这一事实,因此您可以从返回的模式创建C#类,然后让XmlSerializer自动处理它。我不确定XSD.exe工具生成的代码是否会是Silverlight友好的,但值得一试。

答案 1 :(得分:1)

请尝试以下操作:http://silverlightdataset.net

答案 2 :(得分:0)

数据集的危险和一般的讨厌呃。我会使用一个通用代理,负责使用webmethod并将数据集转换为xml / json

答案 3 :(得分:0)

是的,silverlight ds是一个很好的解决方案,他们甚至建立了关系