自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WCF契約定義及主要用途

開發(fā) 開發(fā)工具
WCF契約總共可以分為四種,分別為:用于定義服務(wù)操作的服務(wù)契約;用于自定義數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)契約;用于控制消息格式的消息契約等。

我們?cè)谑褂?a >WCF時(shí),對(duì)其制定各種各樣的規(guī)則,就叫做WCF契約。任何一個(gè)分布式的應(yīng)用程序在傳遞消息的時(shí)候都需要實(shí)現(xiàn)制定一個(gè)規(guī)則。#t#

任何一個(gè)分布式應(yīng)用程序,它之所以能夠互相傳遞消息,都是事先制定好數(shù)據(jù)交換規(guī)則的,這個(gè)規(guī)則正是交換數(shù)據(jù)的雙方(比如服務(wù)器端和客戶端)能彼此理解對(duì)方的依據(jù),WCF作為分布式開發(fā)技術(shù)的一種,同樣具有這樣一種特性。而在WCF中制定的的規(guī)則就被稱之為契約(Contract),它是WCF的消息標(biāo)準(zhǔn),是任何一個(gè)wcf程序不可或缺的一部分。

 

契約有幾種?,他們都有什么用途

在WCF中,契約分為四種,它們分別為:

用于定義服務(wù)操作的服務(wù)WCF契約:Service Contract
這種級(jí)別的契約又包括兩種:ServiceContract和OperationContract

ServiceContract用于類或者結(jié)構(gòu)上,用于指示W(wǎng)CF此類或者結(jié)構(gòu)能夠被遠(yuǎn)程調(diào)用,而OperationContract用于類中的方法(Method)上,用于指示W(wǎng)CF該方法可被遠(yuǎn)程調(diào)用。

用于自定義數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)WCF契約:Data Contract
數(shù)據(jù)契約也分為兩種:DataContract和DataMember.DataContract用于類或者結(jié)構(gòu)上,指示 WCF此類或者結(jié)構(gòu)能夠被序列化并傳輸,而DataMember只能用在類或者結(jié)構(gòu)的屬性(Property)或者字段(Field)上,指示W(wǎng)CF該屬性或者字段能夠被序列化傳輸。

用于自定錯(cuò)誤異常的異常WCF契約:Fault Contract
FaultContract用于自定義錯(cuò)誤異常的處理方式,默認(rèn)情況下,當(dāng)服務(wù)端拋出異常的時(shí)候,客戶端能接收到異常信息的描述,但這些描述往往格式統(tǒng)一,有時(shí)比較難以從中獲取有用的信息,此時(shí),我們可以自定義異常消息的格式,將我們關(guān)心的消息放到錯(cuò)誤消息中傳遞給客戶端,此時(shí)需要在方法上添加自定義一個(gè)錯(cuò)誤消息的類,然后在要處理異常的函數(shù)上加上FaultContract,并將異常信息指示返回為自定義格式。

用于控制消息格式的消息WCF契約:Message Contract
簡(jiǎn)單的說,它能自定義消息格式,包括消息頭,消息體,還能指示是否對(duì)消息內(nèi)容進(jìn)行加密和簽名。

 

如何定義WCF契約?

其實(shí)上面落里羅嗦說了一大堆,似乎契約使用起來應(yīng)該很難的樣子了,可事實(shí)上,契約的使用是很簡(jiǎn)單的,它無非就是在普通的程序結(jié)構(gòu)上添加一些聲明性的屬性就可以了,比如我們可以直接在類上聲明ServerContractAttribute,此時(shí)這個(gè)類就能被遠(yuǎn)程客戶端訪問到,而在類中的方法中(Method)添加OperationContractAttribute就能將方法暴露給遠(yuǎn)程客戶端,其他的契約也一樣的用法,比較難得還是消息契約和錯(cuò)誤契約,當(dāng)也很簡(jiǎn)單。

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

2022-10-27 11:33:14

2019-01-22 14:55:12

工業(yè)物聯(lián)網(wǎng)制造業(yè)IIOT

2019-04-22 10:53:18

2009-11-09 09:23:10

WCF數(shù)據(jù)契約

2010-02-22 15:27:05

WCF數(shù)據(jù)契約

2010-02-22 13:56:35

WCF服務(wù)契約

2010-02-24 16:58:14

WCF Session

2010-03-01 15:12:53

WCF回調(diào)契約

2009-12-22 11:29:27

WCF自定義集合類型

2009-11-06 15:02:47

WCF契約查詢

2009-12-22 18:43:00

WCF異步調(diào)用

2010-02-23 13:46:37

WCF數(shù)據(jù)契約

2009-11-09 14:46:09

WCF集合契約等價(jià)

2009-11-05 16:27:51

WCF數(shù)據(jù)契約

2009-12-22 09:11:31

WCF雙向通信

2010-03-01 16:04:31

WCF服務(wù)契約

2010-02-01 16:22:56

C++枚舉類型

2009-08-11 15:38:54

.NET集合類

2009-11-09 14:15:17

WCF集合類型

2010-03-01 18:11:40

WCF數(shù)據(jù)契約變更
點(diǎn)贊
收藏

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