WCF数据契约不同名称特点介绍

在WCF开发插件中,有很多比较重要的知识内容值得我们在实践中去不断的积累经验来对此进行深入研究,比如今天为大家介绍的WCF数据契约,就是一个比较重要的内容。接下来就让没一起来看看它的实质内容吧。#t#

公司主营业务:做网站、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出丰润免费做网站回馈大家。

缺省情况下,WCF框架对集合类型是内建支持的,也就说你不需要应用任何属性,就可以将集合应用在数据契约(协定)中,但前提是集合中的元素必须是应用了DataContractAttribute属性或者是可序列化的类型。这时,数据契约(协定)名称和命名空间就依赖集合中包含的元素的类型的名称和命名空间了,它们不受集合类型本身的名称和命名空间的影响。

缺省集合类型WCF数据契约(协定)的格式是(不包括“+”):

列表集合:名称:ArrayOf+集合中包含的元素类型

循环元素名称:集合中包含的元素类型

字典集合:名称:ArrayOfKeyValueOf+集合中Key的类型+集合中包含的对象类型

循环元素名称:KeyValueOf+集合中Key的类型+集合中包含的对象类型

例如:

MyCollection1 : IList< int>{…}的数据契约名称就是:ArrayOfint

MyCollection2 : ICollection< int>{…}的WCF数据契约名称就是:ArrayOfint

MyDictionary1 : Dictionary< int, int>{…}的数据契约名称就是:ArrayOfKeyValueOfintint

MyCollection3 : ArrayList{…}的数据契约名称就是:ArrayOfanyType

MyDictionary2 : Dictionary< int, object>{…}的数据契约名称就是:ArrayOfKeyValueOfintanyType

注意:如果是object的话,使用的是anyType,因为在Schema中所有类型的基类是anyType.

如果集合是应用于某个WCF数据契约类型中时,那么它的名称将是字段名称,如下面Customer的定义以及序列化后的表示:

 
 
 
  1. [DataContract]
  2. public class Customer
  3. [DataMember]
  4. public List< string> addresses = new List< string> {"Beijing","ShangHai" };
  5. [DataMember]
  6. public Dictionary< int, object> telephones = new Dictionary< int, object> {
  7. { 1, "010-82371234" }, 
  8. { 2, "021-56781234" } };
  9. }
  10. < Customer xmlns:i="http://www.w3.org/2001/XMLSchema-instance" 
  11. xmlns="http://schemas.datacontract.org/2004/07/WCFTestSerializer">
  12. < addresses xmlns:d2p1="http://schemas.microsoft.com/2003/10/
    Serialization/Arrays">
  13. < d2p1:string>Beijing< /d2p1:string>
  14. < d2p1:string>ShangHai< /d2p1:string>
  15. < /addresses>
  16. < telephones
  17. xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
  18. < d2p1:KeyValueOfintanyType>
  19. < d2p1:Key>1< /d2p1:Key> 
  20. < d2p1:Value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" 
    i:type="d4p1:string">010-82371234< /d2p1:Value>
  21. < /d2p1:KeyValueOfintanyType>
  22. < d2p1:KeyValueOfintanyType>
  23. < d2p1:Key>2< /d2p1:Key>
  24. < d2p1:Value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" 
    i:type="d4p1:string">021-56781234< /d2p1:Value>
  25. < /d2p1:KeyValueOfintanyType>
  26. < /telephones>
  27. < /Customer>

以上就是我们为大家介绍的WCF数据契约相关内容。

本文名称:WCF数据契约不同名称特点介绍
文章地址:http://www.gawzjz.com/qtweb/news49/161549.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联