配置服務課件_第1頁
配置服務課件_第2頁
配置服務課件_第3頁
配置服務課件_第4頁
配置服務課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

配置服務本次課程內容包括

配置服務概述配置綁定配置終結點配置服務概述在設計和實現服務協定后,即可配置服務。在其中可以定義和自定義如何向客戶端公開服務,包括指定可以找到服務的地址、服務用于發(fā)送和接收消息的傳輸和消息編碼,以及服務需要的安全類型。配置服務的類型–使用配置文件配置–在代碼中強制配置編寫配置是WCF應用程序編程的主要部分之一。配置服務概述配置服務概述1.Service元素?每個服務都具有以下屬性:–name。指定提供服務協定的實現的類型。這是完全限定名稱(命名空間和類型名稱)。–behaviorConfiguration。指定一個在behaviors元素中找到的behavior元素的名稱。指定的行為控制操作.使用WCF配置工具配置服務概述

2.behavior元素3.綁定(Binding)?

綁定定義了客戶端與服務端交換信息所需要的通訊配置參數,比如傳輸協議,消息編碼方式等。簡單地說:綁定定義了客戶端如何與服務端通訊。綁定表示通訊信道(communicationchannel)的配置綁定定義了客戶端與服務端之間通訊的協議。綁定中的信息可能非常基本,也可能非常復雜。最基本的綁定僅指定必須用于連接到終結點的傳輸協議(如HTTP)。一般來說,綁定包含的有關如何連接到終結點的信息屬于以下類別中的一種。–傳輸協議–消息編碼–安全性,可靠性消息與事務傳輸協議

HTTP,HTTPSTCP命名管道(NamedPipes)MSMQ提供自定義協議的支持:UDP或者SMTP,等等消息編碼

TextMTOM((MessageTransmissionOptimizationMechanism),是W3C的MTOM的消息傳輸優(yōu)化機制,有效地發(fā)送二進制數據和Web服務方法。)Binary能夠提供自定義消息編碼格式信道(Channels)、信道棧

客戶端的信道通過信道工廠創(chuàng)建,服務端的信道通過信道監(jiān)聽器創(chuàng)建若干信道逐個相連,成為一個信道棧。信道棧提供一個消息傳輸和處理的通道。信道棧在通訊的每個端點之間發(fā)送或者接收消息–客戶端代理是從客戶端綁定配置構建出來的信道–ServiceHost根據服務綁定的配置,為每個端點暴露出信道的監(jiān)聽器信道棧由綁定的元素組成信道(Channels)、信道棧

比如一個自來水廠,水源可能取自天然的湖水,在水廠生產的水最終通過自來水管流到居民的家中被飲用之前,需要對水進行必要的處理。中間的流程可能是這樣的:湖水被汲取到一個池子中先進行雜質的過濾(我們稱這個池為過濾池);被過濾后的水流到第二個池子中進行消毒處理(我們稱這個池為消毒池);被消毒處理的后水流到第三個池子中進行水質軟化處理(我們稱這個池為軟化池);最終水通過自來水管道流到居民的家中。實際上,信道棧就相當于一個自來水廠,而構成信道棧的一個個信道就相當過濾池、消毒池、軟化池以及自來水管道。唯一不同的是,自來水廠處理的是水,而信道棧處理的是消息(message)。這樣設計的最大的好處就是具有很強的可擴展性,因為不可能、也沒有必要設計出一種信道能夠進行所有的消息處理任務,讓一個信道專注于某一種功能的實現,通過對信道的合理組合從而實現實際的消息處理的功能。信道(Channels)、信道棧

有兩種信道是必須的:傳輸信道(transportchannel)和消息編碼信道(messageencodingchannel)。信道棧的目的就是實現消息的傳輸,傳輸信道肯定是必須的,而進行傳輸的前提,需要對消息進行合理編碼,比如基于文本編碼和二進制編碼。對于信道棧來說,除了必要的消息處理功能(消息編碼與傳輸),為了一些額外的功能的實現需要添加新的信道。比如,對于無狀態(tài)的http協議需要提供對會話的支持,需要添加相應的會話支持的信道;為了通過對事物的支持,將多個服務調用納入同一個事物中,需要專門的事物支持的信道;為了減少網絡流量,在傳輸之前需要對消息進行壓縮,需要專門的消息壓縮信道,等等。選擇綁定標準綁定:–預定義的綁定元素–為在HTTP,TCP,命名管道或者MSMQ通訊上提供缺省設置–能夠修改配置自定義綁定:–完全自定義的綁定元素的集合–當標準綁定無法滿足需求時使用標準綁定:書本p90

?BasicHttpBinding?WSHttpBinding?WSDualHttpBinding?WSFederationHttpBinding?NetNamedPipeBinding?NetTcpBinding?NetPeerTcpBinding?NetMsmqBinding?MsmqIntegrationBindingWebService綁定

BasicHttpBinding與SOAP1.1兼容,一個HTTP協議綁定,適用于連接到符合WS-I基本配置文件規(guī)范的Web服務(例如,基于ASP.NETWeb服務的服務)WSHttpBinding與帶有WS*的SOAP1.2兼容,一個可互操作的綁定,適用于連接到符合WS-*協議的終結點。WSDualHttpBinding適用于在支持WS*的HTTP協議上的回調.WSFederationHttpBinding適用于聯合安全與單點登陸(SSO)的場景消息綁定NetMsmqBinding用于在MSMQ上可靠的,事務的并且持久的消息,使用.NETFramework創(chuàng)建與其他WCF終結點的排隊消息連接。MsmqIntegrationBinding用于早期技術的MSMQ互操作綁定

?使用自己的綁定–如果系統提供的綁定都不具有服務應用程序所需的正確功能組合,則可以創(chuàng)建自己的綁定。有兩種方法可以實現此目的。–可以使用CustomBinding對象從預先存在的綁定元素創(chuàng)建新的綁定–也可以通過從Binding綁定派生來創(chuàng)建完全由用戶定義的綁定?使用綁定–使用綁定需要執(zhí)行兩個基本步驟:–選擇或定義綁定。最簡單的方法就是選擇WCF包含的系統提供綁定中的一個,并且通過該綁定的默認設置來使用它。–創(chuàng)建一個使用所選擇或定義的綁定的終結點。綁定(結合實例)

代碼和配置–可以通過兩種方式來定義綁定:–通過代碼或通過配置。–這兩種方法與使用的是系統提供的綁定還是自定義綁定無關。通常,使用代碼可以使在設計時對綁定的定義擁有完全的控制。–另一方面,使用配置則使系統管理員或WCF服務或客戶端的用戶可以更改綁定的參數,而不必重新編譯服務應用程序。由于無法預測用于部署WCF應用程序的特定計算機要求,因而通常需要這種靈活性。通過將綁定(和尋址)信息保持在代碼外部,人們可以更改這些信息,而不必重新編譯或重新部署應用程序。–請注意,代碼中定義的綁定是在配置中指定的綁定之后創(chuàng)建的,這使得代碼定義的綁定可以覆蓋配置中定義的任何綁定。關于綁定綁定定義了與終結點進行通訊的通道(channel)??梢园淹ǖ老胂笫亲詠硭埽畔⒕褪窃诠苤辛鲃拥乃?。WCF提供不同用途的“管子”,有的管子只管傳輸信息,有的管子負責保證數據安全,有的管子負責壓縮數據,……,把這些不同用途的管子接在一塊,就形成了一個“信息水管”。WCF服務與WCF客戶分別位于這個管子的兩端。整個“信息水管”是一段段的,每一段都可以被取走或替換為另一種功能的“管子”(你也可以創(chuàng)建自己的“管子”),通過管子的動態(tài)組合可以實現高度的靈活性。終結點

?與WindowsCommunicationFoundation(WCF)服務的所有通信是通過該服務的終結點進行的。利用終結點,客戶端可訪問WCF服務提供的功能?終結點的結構–地址。地址唯一標識終結點并告知潛在客戶服務的所在位置–綁定。綁定指定如何與終結點進行通信–服務協定。服務協定概述了終結點向客戶端公開的功能指定服務的終結點有兩種方式使用配置定義服務終結點比使用代碼更為可行。使綁定和尋址信息保持在代碼之外可以在對它們進行更改后不必重新編譯和重新部署應用程序。終結點地址的定義

終結點的地址由EndpointAddress類表示,該類包含一個表示服務地址的統一資源定位符(URI)大多數傳輸的地址URI包含四個部分。例如,“Endpoint”這個URI具有以下四個部分:–方案:http:–計算機:–(可選)端口:322–路徑:/mathservice.svc/secureEndpoint終結點地址定義

在配置文件中定義終結點地址終結點地址定義

在代碼中定義終結點地址元數據終結點地址

WindowsCommunicationFoundation(WCF)服務通過發(fā)布一個或多個元數據終結點來發(fā)布元數據。發(fā)布服務元數據之后,可以通過標準協議(如WSMetadataExchange(MEX)和HTTP/GET請求)來使用該元數據。元數據終結點類似于其他服務終結點:它們都有一個地址、一個綁定和一個協定,并且它們都可通過配置或使用代碼添加到服務主機。若要啟用發(fā)布元數據終結點,必須將ServiceMetadataBehavior服務行為添加到該服務。默認情況下,WCF服務不發(fā)布元數據終結點,所以必須將它們顯式添加到服務才能為服務啟用元數據發(fā)布。元數據終結點地址在代碼中配置元數據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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論