自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WCF數(shù)據(jù)契約不同名稱特點(diǎn)介紹

開發(fā) 開發(fā)工具
WCF數(shù)據(jù)契約中有很多不同的名稱,比如列表集合,字典集合等等。我們?cè)谶@篇文章中將會(huì)針對(duì)這些內(nèi)容進(jìn)行一個(gè)詳細(xì)介紹,方便大家理解。

WCF開發(fā)插件中,有很多比較重要的知識(shí)內(nèi)容值得我們?cè)趯?shí)踐中去不斷的積累經(jīng)驗(yàn)來對(duì)此進(jìn)行深入研究,比如今天為大家介紹的WCF數(shù)據(jù)契約,就是一個(gè)比較重要的內(nèi)容。接下來就讓沒一起來看看它的實(shí)質(zhì)內(nèi)容吧。#t#

缺省情況下,WCF框架對(duì)集合類型是內(nèi)建支持的,也就說你不需要應(yīng)用任何屬性,就可以將集合應(yīng)用在數(shù)據(jù)契約(協(xié)定)中,但前提是集合中的元素必須是應(yīng)用了DataContractAttribute屬性或者是可序列化的類型。這時(shí),數(shù)據(jù)契約(協(xié)定)名稱和命名空間就依賴集合中包含的元素的類型的名稱和命名空間了,它們不受集合類型本身的名稱和命名空間的影響。

缺省集合類型WCF數(shù)據(jù)契約(協(xié)定)的格式是(不包括“+”):

列表集合:名稱:ArrayOf+集合中包含的元素類型

循環(huán)元素名稱:集合中包含的元素類型

字典集合:名稱:ArrayOfKeyValueOf+集合中Key的類型+集合中包含的對(duì)象類型

循環(huán)元素名稱:KeyValueOf+集合中Key的類型+集合中包含的對(duì)象類型

例如:

MyCollection1 : IList< int>{…}的數(shù)據(jù)契約名稱就是:ArrayOfint

MyCollection2 : ICollection< int>{…}的WCF數(shù)據(jù)契約名稱就是:ArrayOfint

MyDictionary1 : Dictionary< int, int>{…}的數(shù)據(jù)契約名稱就是:ArrayOfKeyValueOfintint

MyCollection3 : ArrayList{…}的數(shù)據(jù)契約名稱就是:ArrayOfanyType

MyDictionary2 : Dictionary< int, object>{…}的數(shù)據(jù)契約名稱就是:ArrayOfKeyValueOfintanyType

注意:如果是object的話,使用的是anyType,因?yàn)樵赟chema中所有類型的基類是anyType.

 

如果集合是應(yīng)用于某個(gè)WCF數(shù)據(jù)契約類型中時(shí),那么它的名稱將是字段名稱,如下面Customer的定義以及序列化后的表示:

 

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

 

以上就是我們?yōu)榇蠹医榻B的WCF數(shù)據(jù)契約相關(guān)內(nèi)容。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-11-05 16:27:51

WCF數(shù)據(jù)契約

2009-11-09 14:15:17

WCF集合類型

2009-11-09 09:23:10

WCF數(shù)據(jù)契約

2010-02-22 15:27:05

WCF數(shù)據(jù)契約

2010-02-23 09:51:32

WCF MTOM

2009-12-21 17:40:25

WCF會(huì)話

2010-02-22 13:56:35

WCF服務(wù)契約

2010-02-24 16:58:14

WCF Session

2010-02-23 14:24:50

WCF狀態(tài)保存

2010-02-22 16:34:17

WCF性能計(jì)數(shù)器

2010-03-01 18:11:40

WCF數(shù)據(jù)契約變更

2010-02-23 17:44:22

WCF數(shù)據(jù)契約

2010-02-23 13:54:43

WCF非定制數(shù)據(jù)契約集

2010-02-24 17:36:33

WCF集合數(shù)據(jù)契約

2010-02-26 13:34:50

WCF編碼機(jī)制

2009-11-06 15:02:47

WCF契約查詢

2009-11-09 17:30:20

WCF元數(shù)據(jù)

2010-03-01 15:21:57

WCF死鎖

2009-11-09 14:46:09

WCF集合契約等價(jià)

2009-12-22 09:11:31

WCF雙向通信
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)