你正处于服务终端,你不了解你的客户。
为什么你会选择一个而不是另一个?
答案 0 :(得分:9)
根据经验;在自己设计类型时,它应该是一个类,除非类型表示单个值,在这种情况下它应该是一个结构。
答案 1 :(得分:4)
弗雷德里克有正确的答案。我只想补充一点,你应该记住,客户永远不会看到你的数据合同。它将被翻译成XML Schema,并将包含在WSDL中。在客户端,回想一下,它可能是Perl甚至是经典的ASP客户端 - 没有价值概念和参考语义的东西。
因此,价值与参考仅对服务有关 - 而不是对客户而言。
答案 2 :(得分:0)
实际上,约翰桑德斯并不完全正确。 WCF生成的WSDL 确实指示对象是值还是引用类型。当您在客户端使用WCF时,您可以利用此功能。此外,value vs reference会影响WSDL各个部分的isNullable属性,这可能会改变语义。
当然,您需要确保不要将自己描绘成不兼容的角落 - 在某些客户端环境中,可空值类型不一定与引用类型(甚至可能)相同。