1

应用程序类型: 在后端使用 RDBMS 的 3 层 Web 应用程序

开发平台

客户端:Silverlight 3/ WPF 服务:具有基本 Http 绑定的 WCF Web 服务

问题定义: 尝试开发具有客户端业务处理和传递给客户端的数据密集型对象的应用程序。在客户端屏幕中查看和编辑对象后,应将它们传递到服务器端的服务以进行保存。问题是由于该数据量很大,我不想将整个对象再次传递回服务。例如:- 如果我每行有 10 行和 10 列的集合,并且只有 2 列被更新。我应该只能传递数据。

问题: 这是一个好的做法吗?如果是,最好的方法是什么?

尝试过的解决方案 我尝试了两种解决方案 1:使用事件委托设置更改通知 2:使用自定义数据类型

4

1 回答 1

0

如果您使用 VS 自动生成的 WCF Web 服务,那么您几乎只能传输已知的类;因此,要传输较小的信息块,您需要专门为此目的定义一些新类。我相信这些对象通常称为 DTO(数据传输对象)。因此,对于使用 10 x 10 矩阵的场景,您的 DTO 可能包含 {x, y, value} 三元组的列表。

如果您使用的是 REST Web 服务(并自己编写),那么您可能会完全避免使用 DTO 类,而只需创建一个足以传达信息的 XML 模式;例如,具有以下形式的子元素的顶级元素:

<Deltas>
  <Delta x="3" y="9"> ...value subelementgoes here </Delta>
  ... more Delta elements
</Deltas>

然后,您的 REST 服务必须完成增量更新服务器端数据库记录的工作。对于每种数据类型,您可能需要一个不同的 REST url。

高温高压

账单

于 2009-12-09T20:09:50.777 回答