【问题标题】:Should WCF DataContracts be value or reference types?WCF DataContracts 应该是值类型还是引用类型?
【发布时间】:2009-07-13 12:27:46
【问题描述】:

您处于服务的末端,但您不了解您的客户。

为什么你会选择一个而不是另一个?

【问题讨论】:

    标签: wcf datacontract


    【解决方案1】:

    根据经验;当自己设计一个类型时,它应该是一个类,除非该类型表示单个值,在这种情况下它应该是一个结构。

    【讨论】:

      【解决方案2】:

      弗雷德里克有正确的答案。我只会补充一点,您应该记住,客户永远不会看到您的数据合同。它将被翻译成 XML Schema 并包含在 WSDL 中。回想一下,在客户端,它可能是 Perl 甚至是 Classic ASP 客户端——没有值与引用语义的概念。

      所以价值与参考只对服务很重要,对客户不重要。

      【讨论】:

      • 已编辑 q。这正是我要在这里辩论的内容;)
      【解决方案3】:

      实际上,John Saunders 并不完全正确。 WCF 生成的 WSDL 确实 表明对象是值类型还是引用类型。当您在客户端拥有 WCF 时,您可以利用这一点。此外,值与引用对 WSDL 各个部分的 isNullable 属性有影响,这会改变语义。

      当然,您需要确保自己不会陷入不兼容的角落 - 在某些客户端环境中,可空值类型不一定与引用类型相同(甚至可能)。

      【讨论】:

        猜你喜欢
        • 2010-12-04
        • 2013-07-14
        • 2013-01-11
        • 2010-11-07
        • 1970-01-01
        • 2011-01-21
        • 2019-02-07
        • 2013-09-15
        • 1970-01-01
        相关资源
        最近更新 更多