WCF数据合同DTO

Jos*_*osh 6 data-binding wcf

在我的应用程序中,我正在进行服务调用并获取填充的WCF数据合同对象.我必须在网格中显示这些数据.将数据协定绑定到网格是一种好习惯吗?

玩笑

slu*_*ter 10

将数据协定绑定到网格是一种好习惯吗?

是.你在做什么没有错.

让我详细说明一下:你从WCF服务收到的是一个标准对象(有时称为DTO - Data Transfer Object).您尚未收到DataContract - 您收到的对象使用 DataContract来控制WCF服务与客户端之间的序列化过程.DataContract可以控制或指示您获得的内容,但是一旦拥有该对象,您就可以随意对待它.

  • 感谢您明确区分WCF数据合同和DTO. (3认同)

Ran*_*ica 2

假设所有 DTO 都适合数据绑定,那么将 WCF DTO 绑定到网格就不会有问题。

您可能不希望直接绑定到 DTO 的一些场景是:

  • 您的 DTO 不容易与其当前定义绑定(例如嵌套对象/属性)

  • 您需要支持绑定客户端更改的通知(通常使用 完成INotifyPropertyChanged

  • 您希望使您的 UI 代码免受 WCF DTO 更改的影响。这可能是因为您无法控制 DTO 定义,或者您希望频繁更改 DTO 定义,并且不想频繁更改 UI 代码。当然,如果 DTO 确实发生变化,那么您将必须修改代码,但您可以将这些更改隔离到一个小的转换层。