WCF入門需要掌握的基礎(chǔ)知識(shí)
1 XML
因?yàn)橐约坝刑嗟南热酥更c(diǎn), 關(guān)于XML的文章也是無(wú)數(shù), 需要掌握XML的基本的一些概念: 可以訪問(wèn) http://www.w3school.com.cn/
這里就簡(jiǎn)單的說(shuō)明一下關(guān)于XML的一些基礎(chǔ)的概念。
【XML(Extensible Markup Language,可擴(kuò)展的標(biāo)記語(yǔ)言)】
是一套用文本來(lái)定義語(yǔ)義標(biāo)記的元標(biāo)記語(yǔ)言,具有與平臺(tái)無(wú)關(guān)、可靈活的定義數(shù)據(jù)和結(jié)構(gòu)信息、便于網(wǎng)絡(luò)傳遞等優(yōu)勢(shì)。
XML特點(diǎn) XML是文本編碼,因此不受所選用的操作系統(tǒng)、對(duì)象模型和編程語(yǔ)言的影響,可在任何網(wǎng)絡(luò)中正常傳輸。
XML中的所有標(biāo)記都是自定義的,通過(guò)這些自定義的標(biāo)記,可描述某種數(shù)據(jù)的不同部
分及其嵌套的層次結(jié)構(gòu)。XML規(guī)定所有標(biāo)記都必須有開始和結(jié)束標(biāo)志。
引用W3C的一個(gè)簡(jiǎn)單的示例, 可以簡(jiǎn)單的了解XML的基礎(chǔ)結(jié)構(gòu)(如下圖)
2 Web Service
Web Service也叫Web服務(wù),根據(jù)數(shù)據(jù)交換格式的不同,Web Service又進(jìn)一步分為XML Web Service和JSON Web Service等。
XML Web Service是一種以XML作為數(shù)據(jù)交換格式。以JSON作為數(shù)據(jù)交換格式的Web服務(wù)稱為JSON Web Service。
在Web Service的服務(wù)體系結(jié)構(gòu), 是由3個(gè)組成部分, 分別是:
- 1. 服務(wù)提供者
- 2. 服務(wù)請(qǐng)求者
- 3. 服務(wù)注冊(cè)中心
利用發(fā)布、發(fā)現(xiàn)、綁定的三個(gè)基本操作組成。
客戶端與Web服務(wù)如何通信
1.客戶端調(diào)用的web服務(wù), 主要的過(guò)程:
- (1) 客戶端創(chuàng)建web服務(wù)的代理類的實(shí)例。
- (2)通過(guò)調(diào)用代理類的具體的實(shí)現(xiàn)方法。
- (3)客戶端程序?qū)⒎?wù)所需要的參數(shù)序列化為SOAP消息, 然后通過(guò)網(wǎng)絡(luò)發(fā)送到web服務(wù)器中。
- (4)web服務(wù)器接受到SOAP消息 , 此時(shí), 將消息反序列為XML格式, 同時(shí)創(chuàng)建web服務(wù)的實(shí)例, 調(diào)用Web服務(wù)提供的具體方法,將反序列化的XML作為參數(shù)傳遞到方法中。
- (5)執(zhí)行web服務(wù)提供的具體方法, 得到相應(yīng)的返回值和一些消息參數(shù)。
- (6)web服務(wù)器將返回值和一些消息參數(shù)序列化為SOAP消息, 然后通過(guò)網(wǎng)絡(luò)返回到客戶端的程序中。
- (7)客戶端接受到web服務(wù)器返回的SOAP消息, 將XML 反序列為返回值和消息參數(shù), 傳輸?shù)酱眍惖膶?shí)例里。
- (8)客戶端應(yīng)用接受到返回值和消息參數(shù)。
2.客戶端程序與Web服務(wù)通信過(guò)程
下面的圖 讓大家秒懂 "挖布澀維斯" 與 客戶機(jī)應(yīng)用程序 的通信過(guò)程 。
3 遠(yuǎn)程處理RPC
RPC(Remote Procedure Call) —— 遠(yuǎn)程過(guò)程調(diào)用。
遠(yuǎn)程處理技術(shù)是為了解決不同計(jì)算機(jī)上的進(jìn)程相互訪問(wèn)的一種具體實(shí)現(xiàn)。
.NET遠(yuǎn)程處理模型生成一個(gè)應(yīng)用程序,并讓其中兩個(gè)組件直接跨應(yīng)用程序域邊界進(jìn)行通信。此時(shí)需要生成以下內(nèi)容:
- > 一個(gè)可遠(yuǎn)程處理的對(duì)象。
- >一個(gè)宿主應(yīng)用程序域,用于偵聽針對(duì)該對(duì)象的請(qǐng)求。
- > 一個(gè)客戶端應(yīng)用程序域,用于發(fā)出針對(duì)該對(duì)象的請(qǐng)求。
神奇的的跳轉(zhuǎn)鏈接 : 關(guān)于RPC的更詳細(xì)的說(shuō)明 ,http://chabaoo.cn/article/235701.htm
4 消息隊(duì)列(MSMQ)
MQ(Message Queue)是在多個(gè)不同的應(yīng)用程序之間實(shí)現(xiàn)相互通信的一種基于隊(duì)列和事務(wù)處理的異步傳輸模式。
其實(shí)現(xiàn)原理是:
消息發(fā)送者把要發(fā)送的信息放入一個(gè)容器中(稱為Message),
然后把它保存至一個(gè)系統(tǒng)公用的消息隊(duì)列(Message Queue)中;
本地或者是異地的消息接收程序再?gòu)脑撽?duì)列中取出發(fā)給它的消息進(jìn)行處理。MSMQ是微軟實(shí)現(xiàn)的MQ。
引文 :http://chabaoo.cn/article/235688.htm
5 面向服務(wù)的體系結(jié)構(gòu)(SOA)
SOA(Service-Oriented Architecture,面向服務(wù)的體系結(jié)構(gòu))。
其基本思想就是希望用一種統(tǒng)一的、以"服務(wù)"為中心的模型來(lái)整合各種不同的技術(shù),而不是僅僅限于Web服務(wù)。
對(duì)于.NET開發(fā)人員來(lái)說(shuō),這個(gè)基于SOA的具體實(shí)現(xiàn)就是WCF, 而關(guān)于整篇所講的內(nèi)容, 都是對(duì)于我們了解及使用
WCF有鋪墊性的作用。
以上所述是小編給大家介紹的WCF入門需要掌握的基礎(chǔ)知識(shí),希望對(duì)大家有所幫助。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
ASP.NET Core中的Razor頁(yè)面使用視圖組件
這篇文章介紹了ASP.NET Core中的Razor頁(yè)面使用視圖組件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02.Net中的不可變集合(Immutable Collection)程序集簡(jiǎn)介
這篇文章介紹了.Net中的不可變集合(Immutable Collection)程序集,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06ASP.NET Core基礎(chǔ)之啟動(dòng)設(shè)置
這篇文章介紹了ASP.NET Core基礎(chǔ)之啟動(dòng)設(shè)置,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02Linux?CentOS下docker部署Asp.Net?Core(.Net6)
這篇文章介紹了Linux?CentOS下docker部署Asp.Net?Core(.Net6)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12詳解.net循環(huán)、邏輯語(yǔ)句塊(基礎(chǔ)知識(shí))
本篇是介紹.NET 基礎(chǔ)部分,主要簡(jiǎn)述循環(huán),判斷,對(duì)初學(xué)者具有很好的參考借鑒價(jià)值,下面就跟小編一起來(lái)看下吧2016-12-12詳解ABP框架中的數(shù)據(jù)過(guò)濾器與數(shù)據(jù)傳輸對(duì)象的使用
ABP框架是一個(gè)基于ASP.NET的Web開發(fā)框架,這里我們來(lái)詳解ABP框架中的數(shù)據(jù)過(guò)濾器與數(shù)據(jù)傳輸對(duì)象的使用,需要的朋友可以參考下2016-06-06ASP.NET Core MVC中的控制器(Controller)介紹
這篇文章介紹了ASP.NET Core MVC中的控制器(Controller),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04