




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
配置服務(wù)本次課程內(nèi)容包括
配置服務(wù)概述配置綁定配置終結(jié)點配置服務(wù)概述在設(shè)計和實現(xiàn)服務(wù)協(xié)定后,即可配置服務(wù)。在其中可以定義和自定義如何向客戶端公開服務(wù),包括指定可以找到服務(wù)的地址、服務(wù)用于發(fā)送和接收消息的傳輸和消息編碼,以及服務(wù)需要的安全類型。配置服務(wù)的類型–使用配置文件配置–在代碼中強制配置編寫配置是WCF應(yīng)用程序編程的主要部分之一。配置服務(wù)概述配置服務(wù)概述1.Service元素?每個服務(wù)都具有以下屬性:–name。指定提供服務(wù)協(xié)定的實現(xiàn)的類型。這是完全限定名稱(命名空間和類型名稱)。–behaviorConfiguration。指定一個在behaviors元素中找到的behavior元素的名稱。指定的行為控制操作.使用WCF配置工具配置服務(wù)概述
2.behavior元素3.綁定(Binding)?
綁定定義了客戶端與服務(wù)端交換信息所需要的通訊配置參數(shù),比如傳輸協(xié)議,消息編碼方式等。簡單地說:綁定定義了客戶端如何與服務(wù)端通訊。綁定表示通訊信道(communicationchannel)的配置綁定定義了客戶端與服務(wù)端之間通訊的協(xié)議。綁定中的信息可能非?;?,也可能非常復(fù)雜。最基本的綁定僅指定必須用于連接到終結(jié)點的傳輸協(xié)議(如HTTP)。一般來說,綁定包含的有關(guān)如何連接到終結(jié)點的信息屬于以下類別中的一種。–傳輸協(xié)議–消息編碼–安全性,可靠性消息與事務(wù)傳輸協(xié)議
HTTP,HTTPSTCP命名管道(NamedPipes)MSMQ提供自定義協(xié)議的支持:UDP或者SMTP,等等消息編碼
TextMTOM((MessageTransmissionOptimizationMechanism),是W3C的MTOM的消息傳輸優(yōu)化機制,有效地發(fā)送二進(jìn)制數(shù)據(jù)和Web服務(wù)方法。)Binary能夠提供自定義消息編碼格式信道(Channels)、信道棧
客戶端的信道通過信道工廠創(chuàng)建,服務(wù)端的信道通過信道監(jiān)聽器創(chuàng)建若干信道逐個相連,成為一個信道棧。信道棧提供一個消息傳輸和處理的通道。信道棧在通訊的每個端點之間發(fā)送或者接收消息–客戶端代理是從客戶端綁定配置構(gòu)建出來的信道–ServiceHost根據(jù)服務(wù)綁定的配置,為每個端點暴露出信道的監(jiān)聽器信道棧由綁定的元素組成信道(Channels)、信道棧
比如一個自來水廠,水源可能取自天然的湖水,在水廠生產(chǎn)的水最終通過自來水管流到居民的家中被飲用之前,需要對水進(jìn)行必要的處理。中間的流程可能是這樣的:湖水被汲取到一個池子中先進(jìn)行雜質(zhì)的過濾(我們稱這個池為過濾池);被過濾后的水流到第二個池子中進(jìn)行消毒處理(我們稱這個池為消毒池);被消毒處理的后水流到第三個池子中進(jìn)行水質(zhì)軟化處理(我們稱這個池為軟化池);最終水通過自來水管道流到居民的家中。實際上,信道棧就相當(dāng)于一個自來水廠,而構(gòu)成信道棧的一個個信道就相當(dāng)過濾池、消毒池、軟化池以及自來水管道。唯一不同的是,自來水廠處理的是水,而信道棧處理的是消息(message)。這樣設(shè)計的最大的好處就是具有很強的可擴展性,因為不可能、也沒有必要設(shè)計出一種信道能夠進(jìn)行所有的消息處理任務(wù),讓一個信道專注于某一種功能的實現(xiàn),通過對信道的合理組合從而實現(xiàn)實際的消息處理的功能。信道(Channels)、信道棧
有兩種信道是必須的:傳輸信道(transportchannel)和消息編碼信道(messageencodingchannel)。信道棧的目的就是實現(xiàn)消息的傳輸,傳輸信道肯定是必須的,而進(jìn)行傳輸?shù)那疤?,需要對消息進(jìn)行合理編碼,比如基于文本編碼和二進(jìn)制編碼。對于信道棧來說,除了必要的消息處理功能(消息編碼與傳輸),為了一些額外的功能的實現(xiàn)需要添加新的信道。比如,對于無狀態(tài)的http協(xié)議需要提供對會話的支持,需要添加相應(yīng)的會話支持的信道;為了通過對事物的支持,將多個服務(wù)調(diào)用納入同一個事物中,需要專門的事物支持的信道;為了減少網(wǎng)絡(luò)流量,在傳輸之前需要對消息進(jìn)行壓縮,需要專門的消息壓縮信道,等等。選擇綁定標(biāo)準(zhǔn)綁定:–預(yù)定義的綁定元素–為在HTTP,TCP,命名管道或者M(jìn)SMQ通訊上提供缺省設(shè)置–能夠修改配置自定義綁定:–完全自定義的綁定元素的集合–當(dāng)標(biāo)準(zhǔn)綁定無法滿足需求時使用標(biāo)準(zhǔn)綁定:書本p90
?BasicHttpBinding?WSHttpBinding?WSDualHttpBinding?WSFederationHttpBinding?NetNamedPipeBinding?NetTcpBinding?NetPeerTcpBinding?NetMsmqBinding?MsmqIntegrationBindingWebService綁定
BasicHttpBinding與SOAP1.1兼容,一個HTTP協(xié)議綁定,適用于連接到符合WS-I基本配置文件規(guī)范的Web服務(wù)(例如,基于ASP.NETWeb服務(wù)的服務(wù))WSHttpBinding與帶有WS*的SOAP1.2兼容,一個可互操作的綁定,適用于連接到符合WS-*協(xié)議的終結(jié)點。WSDualHttpBinding適用于在支持WS*的HTTP協(xié)議上的回調(diào).WSFederationHttpBinding適用于聯(lián)合安全與單點登陸(SSO)的場景消息綁定NetMsmqBinding用于在MSMQ上可靠的,事務(wù)的并且持久的消息,使用.NETFramework創(chuàng)建與其他WCF終結(jié)點的排隊消息連接。MsmqIntegrationBinding用于早期技術(shù)的MSMQ互操作綁定
?使用自己的綁定–如果系統(tǒng)提供的綁定都不具有服務(wù)應(yīng)用程序所需的正確功能組合,則可以創(chuàng)建自己的綁定。有兩種方法可以實現(xiàn)此目的。–可以使用CustomBinding對象從預(yù)先存在的綁定元素創(chuàng)建新的綁定–也可以通過從Binding綁定派生來創(chuàng)建完全由用戶定義的綁定?使用綁定–使用綁定需要執(zhí)行兩個基本步驟:–選擇或定義綁定。最簡單的方法就是選擇WCF包含的系統(tǒng)提供綁定中的一個,并且通過該綁定的默認(rèn)設(shè)置來使用它。–創(chuàng)建一個使用所選擇或定義的綁定的終結(jié)點。綁定(結(jié)合實例)
代碼和配置–可以通過兩種方式來定義綁定:–通過代碼或通過配置。–這兩種方法與使用的是系統(tǒng)提供的綁定還是自定義綁定無關(guān)。通常,使用代碼可以使在設(shè)計時對綁定的定義擁有完全的控制。–另一方面,使用配置則使系統(tǒng)管理員或WCF服務(wù)或客戶端的用戶可以更改綁定的參數(shù),而不必重新編譯服務(wù)應(yīng)用程序。由于無法預(yù)測用于部署WCF應(yīng)用程序的特定計算機要求,因而通常需要這種靈活性。通過將綁定(和尋址)信息保持在代碼外部,人們可以更改這些信息,而不必重新編譯或重新部署應(yīng)用程序。–請注意,代碼中定義的綁定是在配置中指定的綁定之后創(chuàng)建的,這使得代碼定義的綁定可以覆蓋配置中定義的任何綁定。關(guān)于綁定綁定定義了與終結(jié)點進(jìn)行通訊的通道(channel)。可以把通道想象是自來水管,信息就是在管中流動的水。WCF提供不同用途的“管子”,有的管子只管傳輸信息,有的管子負(fù)責(zé)保證數(shù)據(jù)安全,有的管子負(fù)責(zé)壓縮數(shù)據(jù),……,把這些不同用途的管子接在一塊,就形成了一個“信息水管”。WCF服務(wù)與WCF客戶分別位于這個管子的兩端。整個“信息水管”是一段段的,每一段都可以被取走或替換為另一種功能的“管子”(你也可以創(chuàng)建自己的“管子”),通過管子的動態(tài)組合可以實現(xiàn)高度的靈活性。終結(jié)點
?與WindowsCommunicationFoundation(WCF)服務(wù)的所有通信是通過該服務(wù)的終結(jié)點進(jìn)行的。利用終結(jié)點,客戶端可訪問WCF服務(wù)提供的功能?終結(jié)點的結(jié)構(gòu)–地址。地址唯一標(biāo)識終結(jié)點并告知潛在客戶服務(wù)的所在位置–綁定。綁定指定如何與終結(jié)點進(jìn)行通信–服務(wù)協(xié)定。服務(wù)協(xié)定概述了終結(jié)點向客戶端公開的功能指定服務(wù)的終結(jié)點有兩種方式使用配置定義服務(wù)終結(jié)點比使用代碼更為可行。使綁定和尋址信息保持在代碼之外可以在對它們進(jìn)行更改后不必重新編譯和重新部署應(yīng)用程序。終結(jié)點地址的定義
終結(jié)點的地址由EndpointAddress類表示,該類包含一個表示服務(wù)地址的統(tǒng)一資源定位符(URI)大多數(shù)傳輸?shù)牡刂稶RI包含四個部分。例如,“Endpoint”這個URI具有以下四個部分:–方案:http:–計算機:–(可選)端口:322–路徑:/mathservice.svc/secureEndpoint終結(jié)點地址定義
在配置文件中定義終結(jié)點地址終結(jié)點地址定義
在代碼中定義終結(jié)點地址元數(shù)據(jù)終結(jié)點地址
WindowsCommunicationFoundation(WCF)服務(wù)通過發(fā)布一個或多個元數(shù)據(jù)終結(jié)點來發(fā)布元數(shù)據(jù)。發(fā)布服務(wù)元數(shù)據(jù)之后,可以通過標(biāo)準(zhǔn)協(xié)議(如WSMetadataExchange(MEX)和HTTP/GET請求)來使用該元數(shù)據(jù)。元數(shù)據(jù)終結(jié)點類似于其他服務(wù)終結(jié)點:它們都有一個地址、一個綁定和一個協(xié)定,并且它們都可通過配置或使用代碼添加到服務(wù)主機。若要啟用發(fā)布元數(shù)據(jù)終結(jié)點,必須將ServiceMetadataBehavior服務(wù)行為添加到該服務(wù)。默認(rèn)情況下,WCF服務(wù)不發(fā)布元數(shù)據(jù)終結(jié)點,所以必須將它們顯式添加到服務(wù)才能為服務(wù)啟用元數(shù)據(jù)發(fā)布。元數(shù)據(jù)終結(jié)點地址在代碼中配置元數(shù)據(jù)ServiceHosthost=newServiceHost(typeof(calculatorservice),newUri(""));host.AddServiceEndpoint(typeof(Icalculators),newBasicHttpBinding(),"");ServiceMetadataBehaviorbehavior=newServiceMetadataBehavior();behavior.HttpGetEnabled=true;host.Description.Behaviors.Add(behavior);ho
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶市渝北區(qū)六校聯(lián)盟2024-2025學(xué)年九年級下學(xué)期期中歷史試題(含答案)
- 投資分紅合同格式
- 2025年人教版中考模擬生物學(xué)試題 二(無答案)
- 遼寧省大連2022-2023學(xué)年八年級上學(xué)期期末物理試題1【含答案】
- 成人普通感冒診斷和治療臨床實踐指南解讀
- 臨床大面積腦梗護(hù)理常規(guī)
- 8《我們受特殊保護(hù) 》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 2 在社會中成長 公開課一等獎創(chuàng)新教案 統(tǒng)編版道德與法治八年級上冊
- 幼兒音樂游戲《坐板凳》
- 講師兼職勞動合同
- 2024北京十一學(xué)校初二(下)期中數(shù)學(xué)試題及答案
- 2024年上海市普通高中學(xué)業(yè)水平等級性考試化學(xué)試卷(含答案)
- 駕照體檢表完整版本
- 幼兒繪本故事:如果不洗澡
- 農(nóng)業(yè)機械使用與維護(hù)課程標(biāo)準(zhǔn)
- 汽輪機上缸吊出及翻缸風(fēng)險分析及管控措施
- 普通高中學(xué)生綜合素質(zhì)檔案填寫樣表
- 管道機器人畢業(yè)設(shè)計正文
- 常暗之廂(7規(guī)則-簡體修正)
- 2022年國網(wǎng)輸變電工程質(zhì)量通病防治工作要求及技術(shù)措施[1]
- 出口退運貨物追溯調(diào)查情況說明表
評論
0/150
提交評論