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

WCF服務(wù)合同相關(guān)內(nèi)容解讀

開發(fā) 開發(fā)工具
WCF服務(wù)合同被定了四種類型,他們的相關(guān)內(nèi)容將會(huì)分別在文章中得以體現(xiàn)。希望大家可以通過(guò)此來(lái)充分掌握這一應(yīng)用技巧。

WCF是由微軟公司開發(fā)的一款建立于.Net Framework 2.0基礎(chǔ)上的開發(fā)插件。在WCF中,所有的服務(wù)都暴露合同。合同是一種描述服務(wù)所實(shí)現(xiàn)功能的平臺(tái)中立的標(biāo)準(zhǔn)的方式。WCF定義了四種類型的WCF服務(wù)合同:#t#

· WCF服務(wù)合同描述你可以在服務(wù)上執(zhí)行哪些操作。

· 數(shù)據(jù)合同定義哪些數(shù)據(jù)類型被傳入和傳出服務(wù)。WCF為內(nèi)置類型定義隱式合同,例如int和string,但是你可以容易地為定制類型定義顯式的選入式數(shù)據(jù)合同。

· 錯(cuò)誤合同定義哪些錯(cuò)誤將被該服務(wù)所激發(fā),以及該服務(wù)怎樣處理錯(cuò)誤信息和把如何把它們傳播到客戶端。

· 消息合同允許服務(wù)直接與消息進(jìn)行交互。消息合同可以被類型化或非類型化,并且有點(diǎn)類似于CLR中的遲綁定調(diào)用。不過(guò),消息合同很少為SOA開發(fā)者所用。

在這4種類型的合同中,本文將集中討論WCF服務(wù)合同。

你可以使用ServiceContractAttribute來(lái)定義一個(gè)服務(wù)合同,并且你可以把該屬性應(yīng)用于一個(gè)接口或一個(gè)類,如列表1(見本文相應(yīng)下載源碼)所示。

服務(wù)合同獨(dú)立于接口或類可見性-公共或內(nèi)部可見性是一個(gè)CLR概念,而不是WCF概念。在一個(gè)內(nèi)部接口上應(yīng)用 ServiceContractAttribute將把該接口暴露為一個(gè)公共服務(wù)合同(可以跨越服務(wù)邊界進(jìn)行消費(fèi))。沒有 ServiceContractAttribute的話,該接口對(duì)WCF客戶端是不可見的,這與面向服務(wù)的宗旨一致(服務(wù)邊界是顯式的)。為了強(qiáng)制實(shí)現(xiàn)這一點(diǎn),所有的合同必須是嚴(yán)格選入的。

OperationContractAttribute僅能被應(yīng)用到方法(而不是屬性,索引器或事件,這都是一些CLR概念)中。OperationContractAttribute把一個(gè)合同方法暴露為在服務(wù)合同上執(zhí)行的一種邏輯操作。該接口上的其它不具有OperationContractAttribute屬性的方法不會(huì)成為合同的一部分。這可以強(qiáng)制實(shí)現(xiàn)顯式的服務(wù)邊界,并且,對(duì)于操作本身來(lái)說(shuō),保持一種選入模型。注意,合同操作獨(dú)立于方法可見性。列表1展示了通過(guò)定義一個(gè)合同接口把WCF服務(wù)合同與其實(shí)現(xiàn)分離開來(lái)的最好應(yīng)用。

另外,你還可以直接把ServiceContractAttribute和OperationContractAttribute應(yīng)用于類,在這種情況下,WCF使用OperationContractAttribute從類中推斷出一個(gè)服務(wù)合同和方法。這是一種應(yīng)該盡量避免使用的技術(shù):

 

  1. //盡量避免使用  
  2. [ServiceContract]  
  3. class MyService  
  4. {  
  5. [OperationContract] //可見性并不要緊  
  6. string MyMethod(string text)  
  7. {  
  8. return "Hello " + text;  
  9. }  
  10. public string MyOtherMethod(string text)  
  11. {  
  12. return "Cannot call this method over WCF";  
  13. }  

 

這個(gè)ServiceContractAttribute把CLR接口(或推斷的接口)映射到一個(gè)技術(shù)中立的WCF合同上。通過(guò)派生和實(shí)現(xiàn)多個(gè)帶有 ServiceContractAttribute的接口,單個(gè)類可以支持多個(gè)合同。類能夠通過(guò)隱式或顯式方式實(shí)現(xiàn)這個(gè)接口,因?yàn)樵摲椒梢娦詫?duì)WCF沒有任何影響。然而,存在許多實(shí)現(xiàn)約束:避免使用參數(shù)化的構(gòu)造器,因?yàn)閃CF僅使用默認(rèn)的構(gòu)造器。盡管該類能夠使用內(nèi)部屬性,索引器和靜態(tài)成員,但是沒有 WCF客戶端能夠存取它們。

以上就是對(duì)WCF服務(wù)合同的所有介紹。

責(zé)任編輯:曹凱 來(lái)源: CSDN
相關(guān)推薦

2010-02-26 09:50:57

WCF傳輸安全機(jī)制

2010-02-26 13:21:42

WCF通道形狀

2010-03-02 18:01:07

WCF自定義消息篩選器

2010-01-27 16:56:42

Android內(nèi)核

2010-01-28 16:19:39

Android She

2010-02-01 09:18:49

C++函數(shù)指針

2010-06-17 16:12:43

WAP協(xié)議

2010-01-22 18:24:28

VB.NET重構(gòu)

2010-07-20 13:07:13

SQL Server存

2010-01-28 16:30:16

Android數(shù)據(jù)傳遞

2010-01-07 14:26:37

VB.NET變量

2010-06-08 17:30:56

IPv6協(xié)議棧

2009-08-28 15:16:18

C#泛型集合

2010-01-07 11:38:25

VB.NET鍵盤事件

2010-04-02 16:53:34

Oracle內(nèi)存結(jié)構(gòu)

2010-02-03 15:40:11

C++地址運(yùn)算符

2010-01-13 16:15:47

VB.NET消息隊(duì)列

2010-03-25 11:30:25

2010-04-08 10:02:15

Oracle體系結(jié)構(gòu)

2010-03-02 15:53:02

WCF服務(wù)合同
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产精品久久久久久吹潮日韩动画 | 在线观看国产精品一区二区 | 精品av | 一级欧美 | 九九九精品视频 | 久久com| 伊人av在线播放 | 亚洲最大福利网 | 亚洲国产69 | 伊人精品久久久久77777 | 91视频在线看 | 欧美亚洲国产精品 | 午夜久久久久久久久久一区二区 | av一区二区三区四区 | caoporn国产 | 亚洲综合视频 | 国产偷自视频区视频 | 亚洲国产成人在线视频 | 国产成人久久av免费高清密臂 | 中文字幕一区在线观看视频 | 国产黄色在线观看 | 一区二区在线免费观看 | 欧美日韩视频在线 | 欧美a√ | 成人欧美一区二区三区在线播放 | 九色视频网 | 天天干天天谢 | 国产一区二区三区在线视频 | .国产精品成人自产拍在线观看6 | 国产高清视频在线观看 | 亚洲成人综合社区 | 欧美成人精品欧美一级 | 国产一在线观看 | 国产精品成人一区二区三区 | 日韩在线一区二区 | 一级做受毛片免费大片 | 91精品午夜窝窝看片 | 欧美日韩国产精品一区 | 国产精品久久久久久久久久 | 91国内外精品自在线播放 | 在线观看视频你懂得 |