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

探討WCF Data Contract功能

開發 后端
這里簡單的介紹了WCF Data Contract,WCF中的Contract主要的功能就是如何將一個基于.NET的CLR Type,Interface或者Class,轉化成一個我們上面提到的Neutral Contract。

學習了這么長時間的WCF,現在我們簡單的概述一下關于WCF中的Data Contract。在我們看來,Service Orientation提供了一種對業務、功能進行分解的方式。針對SO,我們把一個具體的業務流程或者一個復雜的功能分解成一個個獨立完成某項任務的子單元,這些子單元通過一個個Service來承載。對于Service本身來講,他們應該是自治的,獨自完成自己的功能、不依賴于其他的Service。

#T#但是Service的價值體現在它被潛在的消費者使用的程度。這實際上包含兩方面的內容,作為Service本身,它如何將自己暴露出來,供一切可能的潛在用戶調用,這些潛在用戶不僅僅指那些不同的Client,也包含其他的Service:Service Orientation其中一個特征就是“Service should be composite”,鼓勵將一個個相關細粒度的Service組合成一個大的Service。這樣有利于較大限度的實現重用,而重用往往意味著更小的投入、更佳的可維護性。而另一方面就是這些消費者通過怎樣的方式來調用它所需要的Service。

這實際上體現了兩者相互交互的問題。在一個分布式的環境中要實現兩者的交互,有兩個必須要解決的問題:如何保證Service的使用者對 Service的調用能夠被Service端理解,以及對Service的調用如何抵達Service Side。后者實質上是關于communication的問題,我們現在不去談它。第一個問題就是Contract需要解決的問題。

我們知道SOA一個主要的目標就是促進不同技術平臺的互操作,要真正實現這樣一個宏偉的目標是一件極不容易的事情,需要不同的廠商和標準組織相互協作,制定一個大家一致遵循的標準。這樣一個標準就是WS-* 。我們很清楚,無論個個廠商各自的標準怎樣千差萬別,但是有個標準是他們必須要遵循的,那就是Internet的標準,如果哪家公司拒絕Internet,那肯定要被淘汰的。而對于Internet,基于Http的網絡協議和基于XML的數據表達已經成為了事實上的標準。對于SOA來說,XML不僅僅用于表示Service調用攜帶的數據(參數和返回值),更用于表示這個調用本身,以及滿足各種要求的控制信息, 比如基于Security、Session、Reliable Messaging、Transaction等等的控制信息。WS-*就是一個基于XML的標準。而對于SOA中的Contract所要做的就是尋求一種廠商中立的方式來表示Service的接口、和用于交互的數據結構。前者就是Service Contract、后者就是WCF Data Contract。

SOA中的一個Service由一組相關的Operation來構成。Service Contract用于表示構成該Service所有Operation的Interface(而不是Implementation)。說得更加具體點,大家都知道Consumer和Service之間的交互都是通過Message的形式來實現的,一次交互就是一次Message Exchange。在不同的場景,我們以不通過Pattern來進程Message Exchange,比如我們通常使用Request-Response的方式來向Service發送Request進而得到返回結果,我們也可以以 Request-Forget的形式來異步地調用Service(不需要從Service獲取Response),我們可以讓一個Service在沒有收到任何Request的情況下,以廣播的形式向注冊的Client發送通知,當然我們還有其他不同的消息交互的模式,我們把這些不同的信息交互方式稱為 MEP(Message Exchange Pattern)。也就是說,一個Operation最終通過被最終轉換成了按照某種MEP進行的消息交互,而Service Contract旨在實現對這種MEP的描述,比如是否需要Request Message或者Response Message(如果僅僅有Response Message就是Notification的方式;如果僅僅具有Request Message,那就是我們上面談到的Request-Forget的模式),和Message本身具有的格式。

上面我們說了Service Contract是以一種廠商中立的形式描述體現為某種模式的消極交互、構成整個Service的所有Operation。而我們也說了Consumer 和Service的交互本質上看就是按照某種Pattern體現的一次Message Exchange,好像具有了Service Contract的描述就可以了。但是實際上,單單有了Service Contract對Service的描述還不夠,因為Service Contract本身缺乏對攜帶于Message,用于信息傳遞的數據類型的描述,而這是WCF Data Contract需要解決的問題。我們知道不同的技術平臺對數據類型的表示是不一樣的,可能某一種技術平臺使用16bit來表述一個浮點數,另一種則使用 32bit。所以要想實現不同技術平臺的互操作,將不同技術平臺同一類型的數據以一種廠商中立的形式來描述是必須的。

概括的說,SOA中的Service Contract和WCF Data Contract就是一種廠商中立的數據呈現方式對Service Interface和Data Type的。而Service的調用都是通過SOAP Message來實現,SOAP是基于XML,而對于XML結構的定義,我們很自然地想到XSD,我們可簡單地將SOA中的Contract看成是一個XSD。

上面我們實際上是在一個廠商中立的前提下探討Contract,這里的Contract和具體的平臺和技術無關。接下來我們要談的是基于技術的話題:討論一下WCF下的Contract。簡單地說,WCF中的Contract主要的功能就是如何將一個基于.NET的CLR Type,Interface或者Class,轉化成一個我們上面提到的Neutral Contract。比如,如果我們在一個Interface和它的成員上分別運用Service Contract Attribute和Operation Contract,當我們Host實現了該Interface的Service的時候,WCF就能將在一個.NET-specific的CLR Type暴露成一個Neutral Service Contract。同理對于一個,我們通過在一個Class和它的成員上分別添加DataContractAttribute和 DataMemberAttribute,就可以就該CLR Type轉變成Neutral Data Contract。

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

2009-11-05 14:25:36

WCF Data Co

2010-03-02 09:32:54

WCF服務消息

2009-12-22 18:24:13

WCF面向服務

2009-11-20 13:51:14

Oracle Data

2009-11-06 15:34:12

WCF COM技術

2010-02-25 13:35:27

WCF tcpTrac

2009-12-04 17:35:51

WCF 服務

2010-03-01 17:57:11

WCF緩存機制

2009-12-08 14:28:16

XTemplate +

2010-02-23 09:51:32

WCF MTOM

2009-07-01 09:43:40

WCF安全元數據

2009-12-08 15:06:33

WCF傳輸DataSe

2010-02-22 14:28:35

WCF實現loadin

2009-12-07 10:27:51

WCF分頁

2009-11-06 09:39:40

WCF契約

2010-03-01 09:56:21

WCF自定義集合類型

2010-02-25 16:12:23

WCF IDispos

2010-02-22 17:13:40

WCF會話狀態

2010-02-26 10:56:06

WCF Stream

2010-02-23 10:15:22

WCF運行機制
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.日本在线 | 亚洲欧美中文日韩在线v日本 | 黄色大片毛片 | 精品国产乱码久久久久久丨区2区 | 精品在线免费观看视频 | 国产精品二区三区 | 国产999精品久久久久久绿帽 | 国产精品亚洲一区 | 国产成人精品一区二区三 | 亚洲播放 | 一区二区三区在线免费看 | 99精品一区二区 | 亚洲高清在线视频 | 一区精品视频 | 九色视频网 | 中文字幕在线观 | 99久久婷婷国产综合精品 | 欧美午夜精品久久久久免费视 | 国产色网 | 一级片免费在线观看 | 亚洲高清在线观看 | 国产乱码一区 | 久久99精品久久久久婷婷 | 国产成人精品一区二区三区四区 | 中文字幕一区二区三区在线观看 | 国产黄色在线观看 | 丝袜一区二区三区 | 在线国产小视频 | 亚洲网站在线 | 美女天天操 | 亚洲午夜精品一区二区三区他趣 | 红色av社区 | 97高清国语自产拍 | 一区中文字幕 | 中文字幕不卡在线观看 | 成人午夜精品 | 成人 在线 | 久久爆操 | 欧美一区二区小视频 | 国产色99| 久久精品a级毛片 |