Silverlight与DataSet Web服务的交互
时间:2020-03-06 14:21:09 来源:igfitidea点击:
我的同事发现自己处于"有趣"的境地。他正在研究Silverlight(2.0)原型,该原型需要调用企业中的现有Web服务并将返回的数据绑定到数据显示控件。问题是,Web服务返回.NET数据集(它们不会更改现有的实现),而Silverlight本身不支持数据集。
一个好的解决方法是什么?我当时在考虑一种适配器模式,但不知道中间人Web服务进行转换是否是一个很好的主意。如果有许多现有的Web服务,可能会很乏味。
解决方案
数据集的危险性和普遍性我将使用一个通用代理,该代理负责使用Web方法并将数据集转换为xml / json
AFAIK,当.NET Web服务返回数据集时,它返回其XML表示形式(非常友好)。 .NET客户端可以直接使用DataSet的事实仅抽象出发生Xml序列化-反序列化的事实。
因此,我将手动查询所需的Web服务,观察生成的XML,然后在客户端进行解析。
另一种可能性是利用Web服务使用标准XML序列化程序的事实,因此我们可以从返回的模式创建C类,然后让XmlSerializer自动处理它。我不确定XSD.exe工具生成的代码是否对Silverlight友好,但是值得一试。
是的,silverlight ds是一个很好的解决方案,他们甚至内置了一些关系
请尝试以下操作:http://silverlightdataset.net