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