我已经采用了一个 WCF 项目,该项目具有以数组而不是列表返回数据的约定。有人告诉我,这样做的原因是为了提高与非 .NET 消费应用程序的潜在互操作性。
是否有任何好的示例说明值得从 WCF 服务返回数组而不是列表?
我以前从事过一个具有相同实现和相同推理的项目。我无法从任何项目团队那里得到有效的解释。
我想听听一个理由,但在我这样做之前我不相信这一点。
两者Array
和List
序列化作为 XML 或 JSON 中的集合 - 没有区别,因为它们是可互操作的且功能上为 null 的语言。请注意,当您在 Visual Studio 中使用“添加服务引用...”工具时,您可以选择使用 aList
或 anArray
作为集合类型。
List
如果您在 WCF 中使用二进制序列化,则和之间会有所不同Array
,但二进制序列化仅适用于 .NET 到 .NET,因此不会出现互操作性问题。
请记住,Web 服务不返回数组。他们也不返回列表。它们返回 XML。
数组的 XML 与列表的 XML 相同。