【发布时间】:2011-06-17 14:45:50
【问题描述】:
在客户端和 WCF 服务之间传输实体存在一些痛点。
- 通过序列化所有属性来击败延迟加载
- 序列化数据可能会不必要地膨胀
- UI 和业务层之间的一些耦合
解决这些问题的一种方法是传输 DTO 而不是实体,但我知道这种技术有其自己的一组警告(我知道的最大的一个是维护这些特定于功能的 DTO 所需的类型)。
我认为如果服务实现可以动态生成这些 DTO 和this appears to be possible,那就太好了。不幸的是,看起来合同在客户端(即“对象”)的定义很松散,这听起来像是一种可能的风险。
是否建议以这种方式使用动态 DTO,或者是否有另一种方法来使用 DTO,而无需为每个 DTO 创建/维护类?
我认为圣杯将是实现动态生成 DTO 但客户看到定义明确的合同的地方。我猜这对 WCF 来说是不可能的。
【问题讨论】: