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

WCF數(shù)據(jù)契約相關(guān)示例詳細(xì)分析

開發(fā) 開發(fā)工具
WCF數(shù)據(jù)契約的應(yīng)用在一定程度上受到了一些限制,那么如何才能正確的處理這些限制以達(dá)到一個(gè)完美的狀態(tài)呢?在這將會(huì)對此做一個(gè)詳細(xì)介紹。

我們以前為大家介紹過WCF數(shù)據(jù)契約的相關(guān)特點(diǎn)以及應(yīng)用技巧。在這里我們將會(huì)繼續(xù)根據(jù)WCF數(shù)據(jù)契約的不同類型的應(yīng)用舉例說明,以方便大家更進(jìn)一步的對這方面內(nèi)容有一個(gè)深入的了解。

在正常的c#開發(fā)中我們是允許用子類去替換基類的,這也是所謂的替換原則。但是我們在WCF中確不能用數(shù)據(jù)契約的子類來替換父類的,因?yàn)檫@中間存在一個(gè)序列化的問題。舉個(gè)例子:

我們有WCF數(shù)據(jù)契約:

  1. [DataContract]  
  2. class Employee{...} 

服務(wù)契約中:

  1. [ServiceContract]  
  2. interface IEmployeeManager  
  3. {  
  4. [OperationContract]  
  5. void AddEmployee(Employee employee);  

然后我們在客戶端的代理中就算有類:Intern繼承于

  1. [DataContract]  
  2. class Intern:Employee{...} 

然后再客戶端調(diào)用時(shí):

proxy.AddEmployee(new Intern())是會(huì)出錯(cuò)的。因?yàn)樵诜?wù)器端無法識別Intern對象,因?yàn)樗麩o法去反序列化Intern成Employee對象(WCF序列化)。

WCF數(shù)據(jù)契約提供給我們了一個(gè)解決的辦法就是使用KnownTypeAttribute特性,在基類上標(biāo)識對應(yīng)的子類就可以了。KnownTypeAttribute特性可以使用在Struct跟Class上。示例:

  1. [DataContract]  
  2. [KnownType(typeof(Customer))]  
  3. class Employee{...}  
  4. [DataContract]  
  5. class Intern:Employee{...} 

這樣我們就在所有的WCF數(shù)據(jù)契約跟操作上,能跨越所有的服務(wù)和終結(jié)點(diǎn),允許服務(wù)接受子類。但是這樣會(huì)遇到一個(gè)問題,我們不能去特定的指定某一個(gè)服務(wù)操作,所以KnownType的缺陷就是范圍過于廣泛。WCF提供了另外一個(gè)Attribute--ServiceKnownType.

【編輯推薦】

  1. WCF部署于IIS相關(guān)技巧解析
  2. WCF字符串如果過長該如何處理
  3. WCF共享端口正確開啟方法介紹
  4. WCF并發(fā)能力提高技巧分享
  5. WCF服務(wù)基本概念詳解
責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-12-07 15:37:00

WCF控件

2009-11-20 13:11:44

Oracle XML數(shù)

2010-01-06 16:12:52

分析Json stri

2009-09-25 14:23:39

2009-09-28 10:39:01

Hibernate基礎(chǔ)

2009-09-14 13:50:35

LINQ編程模型

2009-09-08 15:56:50

Linq使用Group

2010-01-06 13:50:37

.NET Framew

2009-09-09 09:48:43

Linq延遲加載

2009-09-14 16:21:34

LINQ To XML

2009-06-18 14:00:51

2009-10-10 13:52:57

VB Update方法

2009-12-10 13:53:58

VS2008專業(yè)版

2009-12-03 17:41:40

PHP應(yīng)用發(fā)展

2009-09-07 14:18:01

C#內(nèi)存管理

2009-09-09 13:53:21

Linq表值函數(shù)

2021-10-25 19:52:52

IntentFilte

2009-03-24 09:17:58

驅(qū)動(dòng)GSMAndroid

2009-10-28 10:06:29

VB.NET With

2009-12-16 14:09:14

Visual Stud
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美日韩国产一区二区三区不卡 | 九九亚洲 | 亚洲免费三级 | 韩国av电影网 | 国产96色在线 | 日韩精品视频在线观看一区二区三区 | 成人av免费看 | 国产一区二区三区 | 欧美一区在线看 | 国产999精品久久久 精品三级在线观看 | 亚洲 欧美 日韩在线 | 自拍中文字幕 | 国产伦精品一区二区 | 国产成在线观看免费视频 | 婷婷色婷婷 | 久久久久久久久久久久久久国产 | 国内精品一区二区 | 国产精品一区二区视频 | 欧美99久久精品乱码影视 | 欧美乱码精品一区二区三区 | 亚洲欧美日韩在线 | 在线午夜电影 | 日本中文字幕日韩精品免费 | 久久精品国产v日韩v亚洲 | 日本在线免费 | 亚洲精品影院 | 桃花av在线| 久草在线青青草 | 日本免费黄色一级片 | www.99热这里只有精品 | 91麻豆精品国产91久久久久久 | 天天插天天操 | www日韩欧美 | 一级黄色日本片 | 北条麻妃一区二区三区在线视频 | 91久久 | 久久人体视频 | 亚洲精品久久久久中文字幕二区 | 一级a性色生活片久久毛片波多野 | 看亚洲a级一级毛片 | 91亚洲国产成人精品一区二三 |