成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WCF集合類型各種限制于規則介紹

開發 開發工具
我們今天主要就是通過對WCF集合類型的限制要求,以及一些更高級的規則制度來對此方面做一個詳細的介紹,希望對大家有所幫助。

WCF開發插件中,有很多內容值得我們去深入的研究。我們需要在不斷的實踐中去積累應用技巧,來滿足我們的應用需求。在這里我們就為大家介紹一下其中一個比較基礎的知識,WCF集合類型的相關概念。#t#

WCF集合類型的要求限制

不是所有的集合類型都可以在WCF中使用,只有滿足以下要求才可以使用:

該集合類型有一個缺省的構造函數

該集合類型有一個名為Add的方法

這是因為在反序列化集合類型時,WCF框架首先調用該集合類型的無參數的構造函數,然后通過非靜態的Add方法來將循環元素增加到集合中。所以以上限制主要是針對反序列化而設定的。

WCF集合類型中的一些高級規則

WCF框架在序列化時支持集合的集合,也支持數組的數組(交錯數組),但不支持多唯數組。

字節數組和 XmlNode 數組是特殊的數組類型,將被視為基元,而不是集合。 序列化字節數組會產生單個包含一個 Base64 編碼數據塊的 XML 元素,而不是為每個字節都生成一個單獨的元素。(筆者認為這是為了性能的考慮才這么處理的。)

如果集合類型實現了IXMLSerializable接口,假設類型為MyType:IList<string>,IXMLSerializable{…},WCF框架將根據在數據契約中聲明的類型來進行序列化,如果聲明的是集(接口)如IList<string>,那么該類型將被認為是列表集合來序列化,如果聲明的是IXMLSerializable,那么將按照IXMLSerializable來進行序列化,當然需要將該類型加到KnowType類型列表中。如果聲明的是該類型本身(如MyType),那么將按照IXMLSerializable的規則來進行序列化。

在對集合進行序列化時,將調用集合類的GetEnumerator 方法來得到集合的內容,在反序列化時將首先調用該集合類型的無參數的構造函數,然后通過非靜態的Add方法來將循環元素增加到集合中。(注:雖然這與大家在MSDN的幫助文檔中看到的不同,認為字典集合將調用get_Keys和get_Values,以及IList將調用索引器,但筆者使用VS2008驗證時沒有得到以上方法被調用的結論,所以筆者認為是MSDN文檔滯后或有誤,如果各位看官能得到和MSDN吻合的結論麻煩告訴一聲。)

如果集合類型同時應用了Serialized屬性或實現了ISerializable接口,WCF框架將忽略它們;但是如果集合類型不滿足集合類型要求(例如缺少Add)方法,那么將按照Serialized或ISerializable來處理;但如果你對該集合同時應用了CollectionDataContract屬性而且又不滿足集合要求,那么將拋出InvalidDataContractException,而不是按照Serialized或ISerializable來處理。

不能向實現了IXmlSerializable接口的類型使用CollectionDataContractAttribute屬性,否則會拋出InvalidDataContractException.向非集合應用CollectionDataContractAttribute屬性以及非字典集合指定KeyName或者ValueName屬性也都將拋出此異常。

以上就是對WCF集合類型的相關介紹。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-02-25 10:29:17

WCF Transac

2009-11-09 14:15:17

WCF集合類型

2009-11-09 09:34:07

WCF集合

2009-11-09 13:47:22

WCF Stream操

2010-03-01 17:35:29

WCF協定

2009-12-22 09:48:58

WCF枚舉類型

2010-02-26 14:58:14

WCF單例模式

2009-12-22 18:29:10

WCF適配器

2010-02-25 14:39:03

WCF術語

2010-02-23 17:30:41

WCF部署于IIS

2010-03-01 09:56:21

WCF自定義集合類型

2010-01-08 16:19:00

VB.NET類型單位命

2009-11-05 15:00:26

WCF Stream

2009-12-08 18:31:58

WCF WEB

2010-02-24 12:41:58

WCF異常處理

2009-11-05 11:31:00

WCF綁定

2009-11-09 17:30:20

WCF元數據

2009-11-09 17:55:13

WCF緩存

2009-12-07 18:33:31

WCF Service

2009-12-22 15:14:33

WCF調用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕日韩在线 | 日韩精品在线免费观看视频 | 亚洲欧美日韩国产综合 | 国产一区二区不卡 | 99精品免费久久久久久久久日本 | 九九视频在线观看 | 午夜在线小视频 | 中文字幕一区二区三区乱码在线 | 国产福利在线播放 | 亚洲av毛片成人精品 | 成人av片在线观看 | 国产欧美精品一区二区色综合朱莉 | 国产精品亚洲综合 | 不卡在线视频 | 日韩一区二区在线视频 | 国产精品区一区二区三区 | 视频一区二区中文字幕 | 久久男女视频 | 嫩呦国产一区二区三区av | 91精品国产综合久久小仙女图片 | 欧美日韩福利视频 | 能看的av| 亚洲三区在线播放 | 久久精品av麻豆的观看方式 | 精品国产一级 | 欧美大片一区 | 91视频88av | 国产欧美一区二区三区久久 | 中文字幕av第一页 | 精品久| 日韩视频在线免费观看 | 久久综合欧美 | 色婷婷一区 | 亚洲播放| 精品久久久久久久久亚洲 | 国产精品久久久久久久久久久久久久 | 午夜视频大全 | 日韩国产免费观看 | 国产精品美女在线观看 | 亚洲电影免费 | 欧美日韩中文字幕 |