偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

WCF集合反序列化具體操作技巧分享

開發(fā) 開發(fā)工具
WCF集合反序列化的相關(guān)操作將會在這里為大家詳細(xì)介紹。朋友們可以通過這里介紹的內(nèi)容充分掌握這一應(yīng)用技巧。

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

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

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

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

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

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

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

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

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

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

2010-02-23 13:03:34

WCF序列化

2010-02-24 17:07:26

WCF序列化引擎

2010-03-01 17:28:25

WCF Stream對

2022-08-06 08:41:18

序列化反序列化Hessian

2010-03-02 16:15:59

WCF控制事務(wù)

2010-03-02 09:39:11

保護WCF服務(wù)

2010-02-24 13:06:27

WCF使用Nhiber

2010-01-22 10:54:06

VB.NET結(jié)構(gòu)變量

2009-08-24 17:14:08

C#序列化

2011-06-01 15:05:02

序列化反序列化

2010-03-01 14:56:48

WCF服務(wù)引用

2018-03-19 10:20:23

Java序列化反序列化

2011-05-18 15:20:13

XML

2023-12-13 13:49:52

Python序列化模塊

2009-08-06 11:16:25

C#序列化和反序列化

2009-11-09 15:06:34

WCF序列化

2019-11-20 10:07:23

web安全PHP序列化反序列化

2009-08-25 14:24:36

C#序列化和反序列化

2011-06-01 14:50:48

2009-06-14 22:01:27

Java對象序列化反序列化
點贊
收藏

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