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

WCF數據契約特性剖析

開發 開發工具
WCF數據契約的應用技巧比較繁多,在這篇文章中我們通過一些簡單的介紹可以讓大家詳細了解到這方面的具體知識。

WCF在開發領域中占據著一個比較重要的地位,我們可以通過本文介紹的關于對WCF數據契約的相關內容來詳細了解一下這方面的相關知識。那么如何才能正確的應用這方面的知識來幫助我們實現功能需求呢?#t#

WCF數據契約就是采用一種廠商中立、平臺無關的形式(XSD)定義了數據的結構,而WCF通過DataContractAttribute和DataMemberAttribute旨在給相應的類型加上一些元數據,幫助DataContractSerializer將相應類型的對象序列化成具有我們希望結構的XML。在客戶端,WCF的服務調用并不完全依賴于某個具體的類型,客戶端如果具有與服務端完全相同的數據契約類型定義,固然***。如果客戶端現有的數據契約類型與發布出來數據契約具有一些差異,我們仍然可以通過DataContractAttribute和DataMemberAttribute這兩個特性使該數據契約與之等效。

簡言之,如果承載相同數據的兩個不同數據契約類型對象最終能夠序列化出相同的XML,那么這兩個數據契約就可以看成是等效的數據契約。等效的數據契約具有相同的契約名稱、命名空間和數據成員,同時要求數據成員出現的先后次序一致。比如,下面兩種形式的WCF數據契約定義,雖然它們的類型和成員命名不一樣,甚至對應成員在各自類型中定義的次序都不一樣,但是由于合理使用了DataContractAttribute和DataMemberAttribute這兩個特性,確保了它們的對象最終序列化后具有相同的XML結構,所以它們是兩個等效的數據契約。

  1. [DataContract(Namespace = "http://www.artech.com/")]  
  2. public class Customer   
  3. {   
  4. [DataMember(Order=1)]   
  5. public string FirstName   
  6. {get;set;}   
  7. [DataMember(Order = 2)]   
  8. public string LastName   
  9. { get; set; }   
  10. [DataMember(Order = 3)]   
  11. public string Gender   
  12. { get; set; }   
  13. }   
  14. [DataContract(Name = "Customer"Namespace = "http://www.artech.com/")]   
  15. public class Contact   
  16. {   
  17. [DataMember(Name = "LastName"Order = 2)]   
  18. public string Surname   
  19. { get; set; }   
  20. [DataMember(Name = "FirstName"Order = 1)]   
  21. public string Name   
  22. { get; set; }   
  23. [DataMember(Name = "Gender"Order = 3)]   
  24. public string Sex   
  25. { get; set; }   

WCF數據契約版本的差異最主要的表現形式是數據成員的添加和刪除。如何保證在數據契約中添加一個新的數據成員,或者是從數據契約中刪除一個現有的數據成員的情況下,還能保證現有客戶端的正常服務調用(對于服務提供者),或者對現有服務的正常調用(針對服務消費者),這是數據契約版本控制需要解決的問題。

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

2009-11-09 09:23:10

WCF數據契約

2010-02-24 16:58:14

WCF Session

2010-02-22 13:56:35

WCF服務契約

2010-02-23 13:46:37

WCF數據契約

2009-11-05 16:27:51

WCF數據契約

2010-02-23 13:54:43

WCF非定制數據契約集

2010-02-23 17:44:22

WCF數據契約

2009-11-09 14:15:17

WCF集合類型

2010-03-01 18:11:40

WCF數據契約變更

2010-02-22 16:26:47

WCF傳輸數據

2009-11-06 15:02:47

WCF契約查詢

2010-02-24 17:36:33

WCF集合數據契約

2009-11-09 14:46:09

WCF集合契約等價

2009-12-22 09:11:31

WCF雙向通信

2010-03-01 16:04:31

WCF服務契約

2009-11-06 16:05:37

WCF回調契約

2010-02-22 10:01:11

WCF消息處理

2010-02-23 09:34:15

WCF重載

2010-02-22 16:09:33

WCF宿主

2009-11-09 11:15:06

WCF消息隊列
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产线视频精品免费观看视频 | 亚洲精品一区二区 | 99精品在线观看 | 一区二区三区不卡视频 | 亚洲福利视频网 | 久久久福利 | 超碰97人人人人人蜜桃 | 黄色免费网址大全 | 在线一区二区三区 | 九九热在线免费视频 | 免费观看羞羞视频网站 | 毛片网在线观看 | av影音资源| 国产精品美女久久久av超清 | 色性av| 欧一区| 国产探花在线精品一区二区 | 亚洲精品一区二区 | 九九热在线精品视频 | 一区二区三区欧美在线 | 91精品免费视频 | 国产精品一区二区在线免费观看 | 午夜影晥 | 亚洲一区二区在线视频 | 成人三级视频在线观看 | 激情六月丁香婷婷 | www.9191| 天天干天天玩天天操 | 午夜影视网 | 国产一区二区精品在线观看 | 精品久久久久一区二区国产 | 欧美一级黄色片在线观看 | 精品国产免费人成在线观看 | 亚洲精品毛片av | 97超碰免费 | 中文字幕在线观看av | 国产成人精品a视频一区www | 欧美色性 | 亚洲国产精品久久 | 日韩不卡在线观看 | 亚洲人成网站777色婷婷 |