【问题标题】:Should objects exposed via WCF services be DTO only?通过 WCF 服务公开的对象是否应该只是 DTO?
【发布时间】:2013-02-09 06:10:42
【问题描述】:

我有一个 WCF 应用程序,它有一堆域实体(由 NHibernate 映射)和服务合同。目前,我通过服务合同直接向 WCF 客户端公开实体。但这使我遇到了 WCF 数据契约的许多限制,特别是那些与序列化相关的限制。例如圆形图限制、KnownTypes 等。

似乎更好的方法是在服务器端使用实体并使用 DTO 在 WCF 服务器和客户端之间传输对象。我对吗?是必须的吗?

【问题讨论】:

    标签: wcf dto


    【解决方案1】:

    WCF 是一个基于消息的系统 - 它基本上通过 XML 序列化数据消息连接客户端和服务器。因此,WCF只能来回发送静态数据 - 它不是一个“远程过程调用”或“远程对象”系统,您可以在其中将功能从客户端传输到服务器并返回。

    由于任何 WCF 传输都必须是 XML 可序列化的,因此它实际上只是关于数据 - 所以是的 - WCF 最适合仅发送来回 DTO 样式数据对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-23
      • 2011-06-16
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      相关资源
      最近更新 更多