学习 WCF (1)--基础篇
Windows Communication Foundation(WCF)是一個(gè)面向服務(wù)編程的綜合分層架構(gòu)。該架構(gòu)的頂層稱為服務(wù)模型層(Service Model Layer),使用戶用最少的時(shí)間和經(jīng)歷建立自己的軟件產(chǎn)品和外界通信的模型。它使得開發(fā)者能夠建立一個(gè)跨平臺的安全、可信賴、事務(wù)性的解決方案,且能與已有系統(tǒng)兼容協(xié)作。我將通過幾篇文章和大家一起學(xué)習(xí)WCF,希望能對新手學(xué)習(xí)WCF有些幫助。
從功能的角度來看,WCF 完全可以看作是ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ 等技術(shù)的并集:
WCF Service
? 軟件設(shè)計(jì)的一個(gè)重要原則:軟件組件必須針對特定的任務(wù)專門的設(shè)計(jì)和優(yōu)化。假如我們要做一個(gè)管理軟件,想象一下,如果一個(gè)軟件非常依賴于與外界通信,我們不能把管理軟件與外界通信的邏輯考慮在管理系統(tǒng)內(nèi)部。所以必須把通信任務(wù)委托給不同的組件。用WCF術(shù)語來說,這個(gè)組件稱為WCF服務(wù)。更通俗的將,WFC服務(wù)就是負(fù)責(zé)與外界通信的軟件。
一個(gè)WCF Service 由下面三部分構(gòu)成:
Service Class:一個(gè)標(biāo)記了[ServiceContract]屬性的類,在其中可能包含多個(gè)方法。除了標(biāo)記了一些WCF 特有的Attribute 外,這個(gè)類與一般的類沒有什么區(qū)別。Host(宿主):可以是應(yīng)用程序,進(jìn)程如Windows Service 等,它是WCF Service 運(yùn)行環(huán)境。Endpoints:可以是一個(gè),也可以是一組,它是WCF 實(shí)現(xiàn)通信的核心要素。
在后面的實(shí)例應(yīng)用中,我還會(huì)提到上面這三個(gè)概念。
WCF 端點(diǎn)
一個(gè)WCF服務(wù)必須能為不同的通信場景提供不同的訪問點(diǎn),這些訪問點(diǎn)稱為WCF端點(diǎn)。也就是上面所提到的EndPoint。每個(gè)端點(diǎn)都有一個(gè)綁定,一個(gè)地址和一個(gè)契約:
(1)綁定:指定該端點(diǎn)如何與外界通信,也就是為端點(diǎn)指定通信協(xié)議。
- 傳輸協(xié)議:端點(diǎn)和客戶端通過傳輸協(xié)議通信。比較常用的是HTTP和TCP。
- 編碼協(xié)議:在進(jìn)入通信鏈路之前,端點(diǎn)和客戶通過編碼協(xié)議對通信進(jìn)行編碼。比較常見的是XML文件二進(jìn)制碼。
- 安全協(xié)議:端點(diǎn)和用戶通過安全協(xié)議保證通信的安全。比如一些敏感的信息,要求通過加密的傳輸信道。比較常見的是HTTPS和WS-Security。
(2)地址:一個(gè)端點(diǎn)地址指定端點(diǎn)的位置,如果通過端點(diǎn)與WCF通信,必須把通信指定到網(wǎng)絡(luò)地址。
(3)契約:一個(gè)端點(diǎn)上契約指定通過該端點(diǎn)的用戶能訪問到WCF服務(wù)的什么操作。
在WCF 中,類ServiceEndpoint 代表了一個(gè)端點(diǎn)(Endpoint),在類中包含的EndpointAddress,Binding,ContractDescription 類型分別對應(yīng)端點(diǎn)的地址,綁定和契約。
WCF服務(wù)模型
最后簡單的說下WCF的服務(wù)模型。
WCF是一個(gè)層次架構(gòu),該架構(gòu)的頂層稱為服務(wù)模型,用于WCF服務(wù)的建模。
WCF服務(wù)模型提供了3種重要手段對自己的WCF服務(wù)進(jìn)行建模:
(1)面向?qū)傩跃幊?#xff1a;WCF服務(wù)模型帶有一套元數(shù)據(jù)屬性,可以通過屬性表示相應(yīng)的實(shí)體,如:屬性,接口,類等。
(2)面向配置編程:WCF服務(wù)模型帶有方便的配置語言,可以通過它在配置文件中進(jìn)行建模。
(3)常規(guī)命令編程:WCF服務(wù)模型帶有一組方便的托管類,可以使用這些托管類對服務(wù)進(jìn)行建模。
簡單的基礎(chǔ)知識就說這些,下篇將介紹如何開發(fā)WCF服務(wù)
-
http://www.cnblogs.com/gaoweipeng/archive/2009/04/30/1447226.html
總結(jié)
以上是生活随笔為你收集整理的学习 WCF (1)--基础篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重庆农科院茶叶研究所(重庆农科院)
- 下一篇: 学习 WCF (3)--开发WCF客户程