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

四種WCF服務合同分析概括

開發 后端
本文讓大家了解四種WCF服務合同:服務合同描述你可以在服務上執行哪些操作、數據合同定義哪些數據類型被傳入和傳出服務、錯誤合同定義、消息合同。

現在是合同社會,合同是一種保證,早WCF中也有合同的概念,那就是WCF服務合同,我們就一起來看看吧。在WCF中,所有的服務都暴露合同。合同是一種描述服務所實現功能的平臺中立的標準的方式。四種WCF服務合同:

◆服務合同描述你可以在服務上執行哪些操作。

◆數據合同定義哪些數據類型被傳入和傳出服務。WCF為內置類型定義隱式合同,例如int和string,但是你可以容易地為定制類型定義顯式的選入式數據合同。

◆錯誤合同定義哪些錯誤將被該服務所激發,以及該服務怎樣處理錯誤信息和把如何把它們傳播到客戶端。

◆消息合同允許服務直接與消息進行交互。消息合同可以被類型化或非類型化,并且有點類似于CLR中的遲綁定調用。不過,消息合同很少為SOA開發者所用。

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

#T#你可以使用ServiceContractAttribute來定義一個服務合同,并且你可以把該屬性應用于一個接口或一個類。服務合同獨立于接口或類可見性-公共或內部可見性是一個CLR概念,而不是WCF概念。在一個內部接口上應用 ServiceContractAttribute將把該接口暴露為一個公共服務合同(可以跨越服務邊界進行消費)。沒有 ServiceContractAttribute的話,該接口對WCF客戶端是不可見的,這與面向服務的宗旨一致(服務邊界是顯式的)。為了強制實現這一點,所有的合同必須是嚴格選入的。

OperationContractAttribute僅能被應用到方法(而不是屬性,索引器或事件,這都是一些CLR概念)中。OperationContractAttribute把一個合同方法暴露為在服務合同上執行的一種邏輯操作。該接口上的其它不具有OperationContractAttribute屬性的方法不會成為合同的一部分。這可以強制實現顯式的服務邊界,并且,對于操作本身來說,保持一種選入模型。注意,合同操作獨立于方法可見性。展示了通過定義一個合同接口把服務合同與其實現分離開來的***應用。

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

  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. }  

這個ServiceContractAttribute把CLR接口(或推斷的接口)映射到一個技術中立的WCF服務合同上。通過派生和實現多個帶有ServiceContractAttribute的接口,單個類可以支持多個合同。類能夠通過隱式或顯式方式實現這個接口,因為該方法可見性對WCF沒有任何影響。然而,存在許多實現約束:避免使用參數化的構造器,因為WCF僅使用默認的構造器。盡管該類能夠使用內部屬性,索引器和靜態成員,但是沒有WCF客戶端能夠存取它們。

責任編輯:田樹 來源: NET130
相關推薦

2009-11-06 14:25:56

WCF接口

2020-06-24 07:49:13

Kubernetes場景網絡

2010-03-02 15:53:02

WCF服務合同

2020-11-10 10:08:41

Kubernetes容器開發

2009-11-09 11:15:06

WCF消息隊列

2022-08-07 22:07:35

微服務架構

2012-02-29 09:44:54

MySQL

2009-11-06 09:14:14

WCF可靠性

2009-11-06 15:41:25

WCF自托管宿主

2009-11-09 10:43:51

WCF Web編程模型

2020-12-09 11:21:48

大數據數據分析

2020-12-09 10:56:15

業務分析數據分析大數據

2010-02-25 17:57:26

WCF服務合同

2017-08-01 23:44:25

數據分析數據科學數據

2009-12-10 14:16:24

2021-10-24 08:37:18

網絡監控網絡架構網絡

2017-09-21 13:04:35

數據挖掘分析分析方法數據分析師

2020-12-10 16:15:04

物聯網物聯網分析計算類型

2019-01-29 15:43:28

數據分析數據挖掘分析方法

2019-10-21 11:00:29

微服務架構部署策略
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品国产成人国产三级 | 欧美精品一区三区 | 国产色 | 久久伊 | 日韩视频精品在线 | 一区二区三区四区视频 | 天天看天天干 | 日韩欧美大片 | 午夜影院操 | 一级片在线观看 | 久久免费视频网 | 韩日有码| 深爱激情综合 | 岛国二区| 小早川怜子xxxxaⅴ在线 | 国产又色又爽又黄又免费 | 亚洲精品国产电影 | 欧美亚洲在线 | 精品在线一区 | 欧美综合视频 | 免费看的av | 日韩成人免费视频 | 成人免费一区二区三区牛牛 | 岛国av一区二区 | 精品国产免费一区二区三区五区 | 久久久久久久久久久久久久av | 99精品久久99久久久久 | jav成人av免费播放 | 香蕉视频一区二区 | 一区二区在线 | 欧美激情精品久久久久久 | 欧美性另类| 337p日本欧洲亚洲大胆鲁鲁 | 久久亚洲视频网 | 久久视频精品在线 | 国产视频一区二区 | 久久精品视频一区二区 | 性生生活大片免费看视频 | 国产乱码精品一区二区三区忘忧草 | 国产一级特黄视频 | 日本在线视频中文字幕 |