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

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

有帮助吗?

解决方案

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

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

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

其他提示

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

数据集的危险和普遍的肮脏性呃。我将使用一个通用代理来负责使用 webmethod 并将数据集转换为 xml/json

是的, 银光 DS 是一个很好的解决方案,他们甚至内置了关系

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top