当客户端请求列表时,WCF服务应该返回什么?

时间:2014-01-17 00:23:45

标签: c# wcf

简单的问题,多种可能性:

  • ICollection<T>
  • IEnumerable<T>
  • List<T>
  • IList<T>
  • Array

彼此有哪些优点和缺点?是否存在性能/安全问题?

2 个答案:

答案 0 :(得分:5)

服务返回的并不重要,因为无论如何它都会被序列化。但是,如果您在服务器和客户端之间共享接口,IEnumerable<T>是典型的,因为它涵盖了所有其他建议。如果你有一个有限集,你也可以使用IList<T>,但我会避免使用Array

答案 1 :(得分:-2)

有点基于广泛的问题,但这实际上取决于您在客户端如何使用该对象。如果您只是将其转储到JSON数组中,则数组可以正常工作,但如果您需要其他实现所具有的额外方法,请序列化您需要的特定对象。