WCF CollectionDataContract

sta*_*ser 7 c# wcf datacontract c#-4.0

我最近在其中一篇文章中注意到wcf服务操作返回了一个collectiondatacontract

Users GetUsers(string someInput);
Run Code Online (Sandbox Code Playgroud)

用户类型定义如下:

[CollectionDataContract]
    public class Users : List<User>
    {
        public Users()
        {
        }

        public Users(IEnumerable<User> users) : base(users)
        {
        }
    }
Run Code Online (Sandbox Code Playgroud)

返回collectiondatacontract(在这种情况下是用户)是否与简单返回有不同的用途List<User>

And*_*rei 6

据我所知,在DataContractSerializer完成序列化集合的工作之后,这个属性可以让你控制元素在最终xml字符串中的名称.

当您必须稍后手动解析结果时(换句话说,您将知道在该xml文本中要查找的元素,以查找您的集合及其部件),这非常有用.

看一下这个例子和更多信息:

http://msdn.microsoft.com/en-us/library/aa347850.aspx