日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
WCF集合反序列化具體操作技巧分享

我們今天將會(huì)在這篇文章中為大家詳細(xì)介紹一下有關(guān)WCF集合反序列化的相關(guān)操作技巧。希望對(duì)于剛剛接觸WCF的朋友們能夠從中獲得一些幫助,并加深我們對(duì)WCF開(kāi)發(fā)插件的理解程度。

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,包括網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營(yíng)銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營(yíng)銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團(tuán)隊(duì)10多年專注互聯(lián)網(wǎng)開(kāi)發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹(shù)立了良好口碑。

缺省情況下,使用Svcutil.exe生成客戶端代理時(shí),列表集合將反序列化成數(shù)組,字典集合將反序列化成Dictionary泛型。我們也可以通過(guò)/collectionType命令行開(kāi)關(guān)(簡(jiǎn)寫形式是 /ct)來(lái)指定我們希望WCF集合反序列化的集合類型(請(qǐng)記住,您還必須使用 /reference 開(kāi)關(guān)(簡(jiǎn)寫形式是 /r)指定引用的集合類型的程序集)。如果該類型是泛型,則必須在類型后面跟有反引號(hào)和泛型參數(shù)的數(shù)目。例如前面的例子中的Customer1類可以通過(guò)下面的命令在客戶端使用List泛型:

 
 
 
  1. SvcUtil http://localhost:8000/  
  2. /r:C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"System.dll  
  3. /ct:System.Collections.Generic.List`1 

DataContractAttribute和CollectionContractAttribute

對(duì)于集合而言,WCF框架將隱含地自動(dòng)的為集合類型應(yīng)用CollectionDataContractAttribute屬性的,這就是為什么你不需要為集合應(yīng)用任何屬性就可以在數(shù)據(jù)契約中使用的原因。但要注意:

如果我們新建的集合類型是繼承已有的集合類型如List,那么我們就不能對(duì)新建的集合類型應(yīng)用DataContractAttribute,否則運(yùn)行時(shí)會(huì)拋出InvalidDataContractException,但你可以應(yīng)用CollectionDataContractAttribute來(lái)定制集合類型的數(shù)據(jù)契約。例如

 
 
 
  1. [DataContract]public class MyList:List{…} 

的集合定義將拋出異常。#t#

如果我們新建的集合類型是實(shí)現(xiàn)了集合接口例如IList,IDictionary的話,我們可以對(duì)此類型應(yīng)用DataContractAttribute屬性,這樣的話此類型將作為普通的數(shù)據(jù)契約類型,而不是將其作為集合類型來(lái)處理。也就是WCF框架將只序列化其中應(yīng)用了DataMemberAttribute屬性的成員。當(dāng)然你也可以不應(yīng)用任何屬性來(lái)讓系統(tǒng)缺省作為集合類型來(lái)處理。(你也可以使用CollectionDataContractAttribute來(lái)定制數(shù)據(jù)契約)

針對(duì)應(yīng)用CollectionDataContractAttribute屬性或者缺省不應(yīng)用任何屬性的集合類型,如果其內(nèi)部有應(yīng)用了DataMemberAttribute的屬性或字段,在序列化時(shí)系統(tǒng)將忽略。

以上就是對(duì)WCF集合反序列化的相關(guān)介紹。


本文題目:WCF集合反序列化具體操作技巧分享
轉(zhuǎn)載來(lái)于:http://www.5511xx.com/article/dhgeshe.html