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