《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第11章_第1頁
《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第11章_第2頁
《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第11章_第3頁
《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第11章_第4頁
《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第11章_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本章教學(xué)要點(diǎn)本章要點(diǎn):WebService技術(shù)基礎(chǔ)WebService服務(wù)的工作原理與過程WebService服務(wù)的體系結(jié)構(gòu)創(chuàng)建Web服務(wù)案例1思考問題?

什么是WebService?

WebService服務(wù)的工作原理與過程如何建立WebService服務(wù)2復(fù)習(xí):類?2.3.1類聲明

類修飾符class類名{類體}

4類的聲明語法:[訪問修飾符]class<類名>{//類的主體}示例:classEmployee{//類的主體}//成員變量//成員方法5類的聲明示例:classEmployee{}類中有主要包含什么東西?①字段變量②成員方法(構(gòu)造函數(shù),一般函數(shù))③構(gòu)造函數(shù):與類同名的函數(shù)案例:從工具箱中的Botton,生成若干botton1,botton2……類的優(yōu)點(diǎn):提高代碼重用度!//成員變量//成員方法6類的聲明示例:classEmployee{}由類生成對象的方法:

①類名對象名=new類名()

②從工具箱中拖出//成員變量//成員方法復(fù)習(xí):類?publicclassstudent{publicintx1;privateinty1;}對類的成員變量的訪問protectedvoidButton1_Click(objectsender,EventArgse)

{studenta1=newstudent();

a1.x1=22;TextBox1.Text=a1.x1.ToString();

}類中的變量,公有變量,生成對象后,可以通過“對象.變量”訪問。類中的變量,私有變量,生成對象后,不能通過“對象.變量”訪問。11.1WebService技術(shù)基礎(chǔ)

81、什么是WebService技術(shù)?從表面上看,WebService就是一個應(yīng)用程序,它向外界暴露出一個能夠通過Web進(jìn)行調(diào)用的應(yīng)用程序接口API。這就是說,你能夠用編程的方法通過Web調(diào)用來實(shí)現(xiàn)某個功能的應(yīng)用程序。例如,我們可以創(chuàng)建一個WebService,其作用是查詢某公司某員工的基本信息。它接受該員工的編號作為查詢字符串,返回該員工的具體信息。Web服務(wù)的全稱是XMLWebService,是存在于Web服務(wù)器上的程序邏輯組件。它利用一套標(biāo)準(zhǔn)協(xié)議來定義平臺無關(guān)、編程語言無關(guān)的接口,并利用該接口為其它應(yīng)用程序提供服務(wù)。采用WebService技術(shù)開發(fā)的應(yīng)用,如Google提供的搜索服務(wù)、Amazon提供的圖書檢索服務(wù)等。11.1WebService技術(shù)基礎(chǔ)

92、WebService技術(shù)的重要性WebService技術(shù)主要用于分布式系統(tǒng)之間的通訊、電子商務(wù)的數(shù)據(jù)交換等。WebService技術(shù)可稱得上是軟件產(chǎn)業(yè)的一場革命,它有可能會重組整個軟件產(chǎn)業(yè)格局,它是未來軟件存在一種形式,有人稱其為Internet的第三次革命,其巨大的商業(yè)機(jī)遇,有可能從根本上改變企業(yè)的商業(yè)模式。11.1WebService技術(shù)基礎(chǔ)

103、WebService技術(shù)的優(yōu)勢:旅行社訪問的這個應(yīng)用程序并不受站點(diǎn)開發(fā)人員編程技巧、編程環(huán)境和學(xué)科技術(shù)的限制。旅行社不必負(fù)擔(dān)用于保持?jǐn)?shù)據(jù)(如天氣預(yù)報、匯率)最新狀態(tài)的高昂維護(hù)費(fèi)用。XMLWebService使用Internet,因此旅行社不必創(chuàng)建和維護(hù)專用鏈接來提供服務(wù)。XMLWebService獨(dú)立于編程語言、協(xié)議和平臺,因此旅行社的開發(fā)人員沒有必要學(xué)習(xí)怎樣創(chuàng)建和部署XMLWebService。Web站點(diǎn)可以向XMLWebService提供者收取費(fèi)用,因?yàn)樗鼮閄MLWebService提供者創(chuàng)建了一個渠道,使之能夠?yàn)槁眯猩缯军c(diǎn)的消費(fèi)者提供服務(wù)。11.1WebService技術(shù)基礎(chǔ)

114、WebService技術(shù)的組成結(jié)構(gòu)(1)asmx文檔是ASP.NETWeb服務(wù)應(yīng)用程序文檔,擴(kuò)展名是.asmx。在文檔內(nèi),主要是Web服務(wù)類的定義,它通過Web服務(wù)方法為其它應(yīng)用程序提供服務(wù)。(2)WSDL文檔全稱是WebServicesDescriptionLanguage(Web服務(wù)描述語言)。用于描述服務(wù)器提供的Web服務(wù)。它描述一個Web服務(wù)的所有方面,包括Web服務(wù)方法的參數(shù)、返回類型和通信協(xié)議。(3)UDDI全稱是UniversalDescription,DiscoveryandIntegration(通用說明、發(fā)現(xiàn)和集成)。一種功能上類似于目錄(與電話簿相似)而且獨(dú)立于平臺的框架,可提供在Internet上定位和注冊Web服務(wù)的方法。UDDI通過服務(wù)注冊,以及使用SOAP訪問注冊信息的約定來實(shí)現(xiàn)發(fā)現(xiàn)商業(yè)服務(wù)。(4)XML全稱是ExtensibleMarkupLanguage(可擴(kuò)展標(biāo)記語言)。是標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)的子集,非常適合Web傳輸。XML提供統(tǒng)一的方法來描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。(5)SOAP協(xié)議全稱是SimpleObjectAccessProtocol(簡單對象訪問協(xié)議)。是一個基于XML的簡單協(xié)議,用于在Web上交換結(jié)構(gòu)化的類型信息。(6)vsdisco文檔Web服務(wù)發(fā)現(xiàn)文件,是一個XML文檔。通過Web服務(wù)發(fā)現(xiàn)文件,Web服務(wù)客戶端可以找到Web服務(wù),并知道該服務(wù)有哪些功能以及如何正確地與之進(jìn)行交互。11.1WebService技術(shù)基礎(chǔ)

125、WebService的典型應(yīng)用WebService的典型集成應(yīng)用如圖11-1所示。旅行社訪問的這個應(yīng)用程序并不受站點(diǎn)開發(fā)人員編程技巧、編程環(huán)境和學(xué)科技術(shù)的限制。旅行社不必負(fù)擔(dān)用于保持?jǐn)?shù)據(jù)(如天氣預(yù)報、匯率)最新狀態(tài)的高昂維護(hù)費(fèi)用。XMLWebService使用Internet,因此旅行社不必創(chuàng)建和維護(hù)專用鏈接來提供服務(wù)。XMLWebService獨(dú)立于編程語言、協(xié)議和平臺,因此旅行社的開發(fā)人員沒有必要學(xué)習(xí)怎樣創(chuàng)建和部署XMLWebService。Web站點(diǎn)可以向XMLWebService提供者收取費(fèi)用,因?yàn)樗鼮閄MLWebService提供者創(chuàng)建了一個渠道,使之能夠?yàn)槁眯猩缯军c(diǎn)的消費(fèi)者提供服務(wù)。11.1WebService技術(shù)基礎(chǔ)

13111.1WebService技術(shù)基礎(chǔ)

146、WebService能提供的服務(wù)XMLWebService提供者可以讓W(xué)eb站點(diǎn)支付使用服務(wù)的費(fèi)用。

通過一個應(yīng)用程序,例如外匯匯率計算器,把它作為一個XMLWebService,銀行就能訪問很多旅行社客戶群。XMLWebService提供商不用負(fù)擔(dān)高昂的費(fèi)用用于開發(fā)和推廣一個面向旅行社群體的Web站點(diǎn)。

因?yàn)閄MLWebService使用Internet通訊,所以服務(wù)提供者不需要昂貴的專用鏈接來提供服務(wù)。

因?yàn)閄MLWebService在語言、協(xié)議和平臺上是獨(dú)立的,所以其服務(wù)能夠被各種各樣的應(yīng)用程序使用。11.2WebService服務(wù)的工作原理與過程

151、WebService服務(wù)的工作原理返回數(shù)據(jù),而不是返回頁面客戶端通過自己的服務(wù)器,向其它網(wǎng)站發(fā)出請求時,從其它網(wǎng)站返回的是數(shù)據(jù),而不是返回頁面,這是與通常的基本服務(wù)器的Web訪問完全不一樣的地方,如圖11-2所示。11.2WebService服務(wù)的工作原理與過程

1611.2WebService服務(wù)的工作原理與過程

172、WebService服務(wù)的工作過程基于“簡單對象訪問協(xié)議”(SOAP:SimpleObjectAccessProtocol)。這是一種基于XML的信息格式協(xié)議標(biāo)準(zhǔn),用來在兩個終端之間傳遞信息,如圖11-3所示。這些信息以SOAP信封(envelope,類似于數(shù)據(jù)包)的方式在發(fā)送方和接收方之間傳送。最簡單最常用的是返回字符串、整數(shù)、日期、布爾值、小數(shù)等基本數(shù)據(jù)類型。也可以用它來返回一個數(shù)組或數(shù)組列表。還可以用來返回一個DataSet對象。甚至還可以用來返回一個類。11.2WebService服務(wù)的工作原理與過程

1811.3WebService服務(wù)的體系結(jié)構(gòu)

19Web服務(wù)(也稱為WebServices)是一種基于組件的軟件平臺,是面向服務(wù)的Internet應(yīng)用,不再僅僅是由人閱讀的頁面,而是以功能為主的服務(wù)。WebServices由4部分組成,分別是Web服務(wù)(WebService)本身、服務(wù)的提供方(ServiceProvider)、服務(wù)的請求方(ServiceRequester)和服務(wù)注冊機(jī)構(gòu)(ServiceRegestry),其中服務(wù)提供方、請求方和注冊機(jī)構(gòu)稱為WebServices的三大角色。這三大角色及其行為共同構(gòu)成了WebServices的體系結(jié)構(gòu),如圖11-4所示。11.3WebService服務(wù)的體系結(jié)構(gòu)

2011.3WebService服務(wù)的體系結(jié)構(gòu)

21服務(wù)提供方從商務(wù)觀點(diǎn)看,服務(wù)提供方是服務(wù)的所有者;而從體系結(jié)構(gòu)的角度看,是提供服務(wù)的平臺。服務(wù)請求方與服務(wù)提供方類似,從商務(wù)觀點(diǎn)看,服務(wù)請求方是請求某種特定功能的需求方;從體系結(jié)構(gòu)的角度看,它是查詢或調(diào)用某個服務(wù)的應(yīng)用程序或客戶端。服務(wù)注冊機(jī)構(gòu)是服務(wù)的注冊管理機(jī)構(gòu),服務(wù)提供方將其所能提供的服務(wù)在此進(jìn)行注冊、發(fā)布,以便服務(wù)請求方通過查詢和授權(quán)獲取所需要的服務(wù)。為了實(shí)現(xiàn)圖11-4這一體系結(jié)構(gòu),WebServices使用了一系列協(xié)議,主要成員包括SOAP、WSDL、UDDI。SOAP即簡單對象訪問協(xié)議(SimpleObjectAccessProtocol),它是用于交換XML編碼信息的輕量級協(xié)議。它有三個主要方面:XML-envelope為描述信息內(nèi)容和如何處理內(nèi)容定義了框架,將程序?qū)ο缶幋a成為XML對象的規(guī)則,執(zhí)行遠(yuǎn)程過程調(diào)用(RPC)的約定。SOAP可以運(yùn)行在任何其他傳輸協(xié)議上。例如,可以使用SMTP,即因特網(wǎng)電子郵件協(xié)議來傳遞SOAP消息,這可是很有用的。在傳輸層之間的頭是不同的,但XML有效負(fù)載保持相同。WSDL(WebServiceDefineLanguage,Web服務(wù)描述語言),定義了一種基于XML規(guī)范的用于描述Web服務(wù)的語言,就是用機(jī)器能閱讀的方式提供的一個正式描述文檔而基于XML的語言,用于描述WebService及其函數(shù)、參數(shù)和返回值。因?yàn)槭腔赬ML的,所以WSDL既是機(jī)器可閱讀的,又是人可閱讀的。UDDI(UniversalDescriptionDiscoveryandIntegration,統(tǒng)一描述發(fā)現(xiàn)和集成)提供一種發(fā)布和查找服務(wù)描述的方法,目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是一套基于Web的、分布式的、為WebService提供的、信息注冊中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的WebService注冊,以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。11.3WebService服務(wù)的體系結(jié)構(gòu)

2211.4創(chuàng)建Web服務(wù)案例

2311.4.1創(chuàng)建IIS站點(diǎn)11.4.2創(chuàng)建Web服務(wù)11.4.3測試Web服務(wù)11.4.4客戶端使用Web服務(wù)通過上述四步,創(chuàng)建WebService服務(wù)11.4創(chuàng)建Web服務(wù)案例

2411.4創(chuàng)建Web服務(wù)案例

25Web11.4創(chuàng)建Web服務(wù)案例

26(5)選擇“serve1”,選擇“綁定”,選中服務(wù)器IP地址,如圖11-8所示。11.4創(chuàng)建Web服務(wù)案例

27(6)選擇“serve1”,選擇“啟動”,使網(wǎng)站啟動工作。11.4創(chuàng)建Web服務(wù)案例

2811.4.2創(chuàng)建Web服務(wù)VisualStudio2010使用下面的步驟創(chuàng)建Web服務(wù)。(1)選擇“文件”|“新建”|“網(wǎng)站”命令,打開“新建網(wǎng)站”對話框,如圖11-9所示。依次完成第1步、第2步和第3步。(2)在圖11-10中,選擇本地IIS,分別完成第1步和第2步。如圖11-10、11-11所示。11.4創(chuàng)建Web服務(wù)案例

29Web第1步,選擇.NETFramework3.5第3步,點(diǎn)擊“瀏覽”

第2步,選擇ASP.NETWeb服務(wù)

11.4創(chuàng)建Web服務(wù)案例

30Web第1步,選擇創(chuàng)建新虛擬目錄

第2步,創(chuàng)建新虛擬目錄

aa1

11.4創(chuàng)建Web服務(wù)案例

31Web11.4創(chuàng)建Web服務(wù)案例

32(3)最后點(diǎn)擊“確定”,創(chuàng)建的WebService站點(diǎn)如圖11-12所示。11.4創(chuàng)建Web服務(wù)案例

33(4)生成的WebSerice關(guān)建文件,Service.asmx文件如下:11.4創(chuàng)建Web服務(wù)案例

34usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Services;[WebService(Namespace="/")][WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]//若要允許使用ASP.NETAJAX從腳本中調(diào)用此Web服務(wù),請取消對下行的注釋。//[System.Web.Script.Services.ScriptService]publicclassService:System.Web.Services.WebService{publicService(){//如果使用設(shè)計的組件,請取消注釋以下行//InitializeComponent();}[WebMethod]publicstringHelloWorld(){return"HelloWorld";}}

11.4創(chuàng)建Web服務(wù)案例

35產(chǎn)生的公有文件publicService(){},這是可調(diào)用的主文件。產(chǎn)生的方法:[WebMethod]publicstringHelloWorld(){return"HelloWorld";}

11.4創(chuàng)建Web服務(wù)案例

36

其中的函數(shù)HelloWorld(),就是通過公有文件publicService()可以調(diào)用的方法,用戶還可按這個格式增添新的方法。例如,增添如下代碼:

publicclassService:System.Web.Services.WebService{publicService(){//如果使用設(shè)計的組件,請取消注釋以下行//InitializeComponent();}[WebMethod]publicstringHelloWorld(){return"HelloWorld";}[WebMethod]publicDoubleAdd(Doublea,Doubleb){return(a+b);}}系統(tǒng)增添了一個加法的方法,可供客戶調(diào)用。11.4創(chuàng)建Web服務(wù)案例

3711.4.3測試Web服務(wù)ASP.NET為測試Web服務(wù)提供了內(nèi)建的支持,它可以測試Web服務(wù)的方法,也可以自動生成返回Web服務(wù)的WSDL文件。為了測試剛才生成的Web服務(wù),用戶可以直接在VisualStudio2010的工具欄中選擇[啟動]按鈕(也可以通過其他方法,讀者可以試驗(yàn)),這時將顯示如圖11-13、11-14、11-15所示。11.4創(chuàng)建Web服務(wù)案例

3811.4創(chuàng)建Web服務(wù)案例

3911.4創(chuàng)建Web服務(wù)案例

4011.4創(chuàng)建Web服務(wù)案例

41從圖中可以看到創(chuàng)建的Web服務(wù),包含2個方法:HelloWorld和AddS。單擊方法的鏈接將顯示它們的測試頁面,如圖為Add方法的測試頁面。11.4.4客戶端使用Web服務(wù)

421、引用Web服務(wù)的方法創(chuàng)建Web服務(wù)的最終目的是為了使用。通常在如下三種應(yīng)用中引用:(1)在Web應(yīng)用中引用。(2)在Windows應(yīng)用中引用。(3)Web服務(wù)自身引用。在VisualStudio2010中訪問Web服務(wù)一般需要以下步驟:通過向網(wǎng)站中添加Web引用,VisualStudio2010自動創(chuàng)建Web服務(wù)的代理類。創(chuàng)建代理類的實(shí)例,然后通過調(diào)用代理對象的方法來訪問Web服務(wù)。11.4創(chuàng)建Web服務(wù)案例

432、創(chuàng)建ASP.NETWeb應(yīng)用程序的方法在ASP.NET中,引用Web服務(wù)的第1步是在VisualStudio.NET中添加Web引用。通過添加Web引用,VisualStudio.NET會創(chuàng)建Web服務(wù)的代理類。在網(wǎng)站中訪問Web服務(wù),就是訪問代理類實(shí)例的過程。下面以一個實(shí)例演示引用Web服務(wù)的步驟。11.4創(chuàng)建Web服務(wù)案例

44例:建立一個Web應(yīng)用程序,調(diào)用前面創(chuàng)建的Web服務(wù)中的方法Add(),實(shí)現(xiàn)加法運(yùn)算。使用

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論