版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023年10月14日第1頁(yè)第9章Web服務(wù)教學(xué)目標(biāo)本章內(nèi)容2023年10月14日第2頁(yè)教學(xué)目標(biāo)Web服務(wù)的工作原理創(chuàng)建Web服務(wù)調(diào)用Web服務(wù)支持AJAX的Web服務(wù)在AJAX站點(diǎn)中調(diào)用頁(yè)面方法2023年10月14日第3頁(yè)本章內(nèi)容9.1Web服務(wù)概述9.2創(chuàng)建和調(diào)用Web服務(wù)9.3上機(jī)練習(xí)9.4習(xí)題2023年10月14日第4頁(yè)本章內(nèi)容9.1Web服務(wù)概述9.2創(chuàng)建和調(diào)用Web服務(wù)9.3上機(jī)練習(xí)9.4習(xí)題2023年10月14日第5頁(yè)9.1Web服務(wù)概述Web服務(wù)奠定了下一代Web應(yīng)用程序的基礎(chǔ)。無(wú)論客戶應(yīng)用程序是Windows應(yīng)用程序,還是ASP.NETWeb應(yīng)用程序,無(wú)論客戶程序運(yùn)行在社么操作系統(tǒng)上,都可以通過(guò)Internet使用Web服務(wù)定期通信。什么是Web服務(wù)ASP.NETWeb服務(wù)體系支持AJAX的Web服務(wù)2023年10月14日第6頁(yè)什么是Web服務(wù)簡(jiǎn)單地講,Web服務(wù)是一個(gè)基于因特網(wǎng)的可通過(guò)Web被遠(yuǎn)程調(diào)用的應(yīng)用程序模塊(API),例如網(wǎng)站中如果想提供天氣預(yù)報(bào)的服務(wù),不用自己實(shí)現(xiàn)天氣預(yù)報(bào)的功能,只需調(diào)用其他公司提供的免費(fèi)或付費(fèi)Web服務(wù)即可。誤區(qū)一,信息化建設(shè)可以一步到位,缺乏信息化建設(shè)的戰(zhàn)略規(guī)劃。服務(wù)就是一個(gè)軟件,它和客戶端應(yīng)用程序沒(méi)有很緊密地耦合或關(guān)聯(lián)。服務(wù)是可以被動(dòng)態(tài)地發(fā)現(xiàn)及組合成其他軟件的軟件實(shí)體。Web服務(wù)是一種基于XML、JSON、SOAP、HTTP、UDDI、WSDL等一系列標(biāo)準(zhǔn)實(shí)現(xiàn)的分布式計(jì)算技術(shù)和軟件組件。2023年10月14日第7頁(yè)Web服務(wù)的影響(1)Web服務(wù)支持在Web站點(diǎn)上放置可編程的元素,用戶可以抓取已有的元素,構(gòu)成自己的新服務(wù)。(2)能進(jìn)行基于Web的分布式計(jì)算和處理,能很好地兼容現(xiàn)有的Web技術(shù)。(3)Web服務(wù)使得Internet成為一個(gè)可以無(wú)限擴(kuò)展、擁有無(wú)限潛力的分布式計(jì)算平臺(tái)。(4)任何設(shè)備可以隨時(shí)隨地訪問(wèn)Internet上的Web服務(wù)。(5)軟件模塊充分復(fù)用、計(jì)算機(jī)資源充分共享、信息無(wú)縫共享和交流。(6)利用Web服務(wù),公司和個(gè)人將能夠迅速且廉價(jià)地向整個(gè)國(guó)際互聯(lián)網(wǎng)絡(luò)提供他們的服務(wù),進(jìn)而建立全球范圍的聯(lián)系,在廣泛的范圍內(nèi)尋找可能的合作伙伴。2023年10月14日第8頁(yè)Web服務(wù)的主要特點(diǎn)互操作性:一個(gè)Web服務(wù)可與其他Web服務(wù)交互,協(xié)同工作;可以使用任何語(yǔ)言開發(fā)Web服務(wù)或使用他人提供的Web服務(wù);開發(fā)環(huán)境可以異構(gòu)。普遍性:Web服務(wù)使用HTTP和XML進(jìn)行通信,支持這些技術(shù)的設(shè)備都可以擁有和訪問(wèn)Web服務(wù)。松散耦合:Web服務(wù)的實(shí)現(xiàn)對(duì)使用者透明,當(dāng)服務(wù)的實(shí)現(xiàn)發(fā)生變動(dòng)時(shí)不影響用戶使用。高度可集成能力:Web服務(wù)和采用了簡(jiǎn)單的、易理解的標(biāo)準(zhǔn)Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范,屏蔽了平臺(tái)的異構(gòu)性,CORBA、DCOM、EJB等都可通過(guò)它進(jìn)行互操作。2023年10月14日第9頁(yè)ASP.NETWeb服務(wù)體系.NET平臺(tái)和ASP.NET在創(chuàng)建和使用Web服務(wù)方面提供了廣泛的支持。這些技術(shù)賦予用戶一個(gè)優(yōu)秀的、簡(jiǎn)單易用的平臺(tái),從而可以快速有效地創(chuàng)建和使用Web服務(wù)。ASP.NETWeb服務(wù)體系包括客戶端應(yīng)用程序、ASP.NETWeb服務(wù)程序以及一些文件,如:代碼文件、.asmx文件和編譯后的.dll文件。還包括一臺(tái)Web服務(wù)器來(lái)存載Web服務(wù)程序和客戶端。如果需要,還可以有一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器來(lái)存取Web服務(wù)中的數(shù)據(jù)。XML或JSON是數(shù)據(jù)的格式,SOAP是調(diào)用Web服務(wù)的協(xié)議,WSDL是描述Web服務(wù)的格式,而UDDI是Web服務(wù)發(fā)布,查找和利用的組合。2023年10月14日第10頁(yè)2023年10月14日第11頁(yè)支持AJAX的Web服務(wù)ASP.NETAJAX提供了完整的架構(gòu)以從客戶端JavaScript調(diào)用ASP.NETWeb服務(wù)。設(shè)計(jì)者可以輕松地用AJAX把服務(wù)器端的數(shù)據(jù)和功能集成到用戶響應(yīng)的Web頁(yè)面中,而所需要做的就是用[ScriptService]屬性來(lái)標(biāo)識(shí)Web服務(wù)。ASP.NETAJAX框架會(huì)為Web服務(wù)自動(dòng)生成JavaScript代理,然后通過(guò)使用代理來(lái)調(diào)用Web方法。借助ASP.NETAJAXExtension,微軟選擇JSON在服務(wù)器和Ajax客戶端實(shí)現(xiàn)數(shù)據(jù)交換,從而創(chuàng)建支持AJAX的Web服務(wù)。在客戶端和服務(wù)器端都實(shí)現(xiàn)了數(shù)據(jù)的串行化器和并行化器以使數(shù)據(jù)按JSON的格式交換。網(wǎng)頁(yè)中的客戶端腳本與服務(wù)器通過(guò)Web服務(wù)通信層進(jìn)行通信來(lái)訪問(wèn)Web服務(wù),該通信層使用AJAX技術(shù)進(jìn)行Web服務(wù)調(diào)用,數(shù)據(jù)在客戶端與服務(wù)器之間通常采用JSON格式進(jìn)行異步交換。2023年10月14日第12頁(yè)本章內(nèi)容9.1Web服務(wù)概述9.2創(chuàng)建和調(diào)用Web服務(wù)9.3上機(jī)練習(xí)9.4習(xí)題2023年10月14日第13頁(yè)9.2創(chuàng)建和調(diào)用Web服務(wù)在.NETFramework中,可以很容易創(chuàng)建和使用Web服務(wù)。與Web服務(wù)相關(guān)的命名空間一共有3個(gè):System.Web.Services:該命名空間中的類用于創(chuàng)建Web服務(wù)。System.Web.Services.Description:使用該命名空間可以通過(guò)WSDL描述Web服務(wù)。System.Web.Services.Protocols:使用該命名空間可以創(chuàng)建SOAP請(qǐng)求和響應(yīng)。2023年10月14日第14頁(yè)WebService類要?jiǎng)?chuàng)建Web服務(wù),可以從System.Web.Services.WebService中派生Web服務(wù)類。WebService類提供了對(duì)ASP.NETApplication和Session對(duì)象的訪問(wèn)。2023年10月14日第15頁(yè)WebService屬性與普通的類繼承不同的是,WebService的子類需要用WebService屬性來(lái)標(biāo)記,該屬性用于向XMLWeb服務(wù)添加附加信息,如描述其功能的字符串。這是一個(gè)WebServiceAttribute類的對(duì)象,共有3個(gè)可選屬性:Description、Name、Namespace2023年10月14日第16頁(yè)WebServiceBinding屬性.NET2.0給Web服務(wù)添加的一個(gè)屬性WebServiceBinding。這個(gè)屬性用于把Web服務(wù)標(biāo)記為可交互操作的一致性級(jí)別。ConformanceClaims Web服務(wù)的一致性級(jí)別可設(shè)置為WsiClaims枚舉的一個(gè)值。WsiClaims有兩個(gè)值:BP10;NoneEmitConformanceClaims一個(gè)布爾屬性,定義了用ConformanceClaims屬性指定的一致性級(jí)別是否應(yīng)傳送給生成的WSDL文檔Name 使用Name屬性可以定義綁定的名稱。該名稱默認(rèn)與Web服務(wù)相同,但要加上Soap字符串Location 定義了綁定消息的位置,例如/Webservice.asmx?wsdlNamespace Namespace屬性定義了綁定的XML命名空間2023年10月14日第17頁(yè)WebMethod屬性Web服務(wù)中可以使用的所有方法都必須用WebMethod屬性來(lái)標(biāo)記。當(dāng)然,也可以有其他沒(méi)有用WebMethod標(biāo)記的方法,但這些方法只能在WebMethod中調(diào)用,而不能在客戶機(jī)上調(diào)用。使用屬性類WebMethodAttribute,就可以在遠(yuǎn)程客戶機(jī)上調(diào)用方法,并可以定義是否緩存響應(yīng),緩存時(shí)間有多長(zhǎng),會(huì)話狀態(tài)是否與指定的參數(shù)一起存儲(chǔ)等。2023年10月14日第18頁(yè)ScriptService屬性System.Web.Script.Services.ScriptService屬性用于使用ASP.NETAJAX從腳本中調(diào)用Web服務(wù)。ResponseFormat 指定是否將響應(yīng)序列化為JSON或者XML。默認(rèn)為JSON,但是,當(dāng)方法的返回值是XmlDocument時(shí),XML格式會(huì)比較方便UseHttpGet 表明是否可以使用HTTPGET調(diào)用Web服務(wù)方法。由于安全性原因,此項(xiàng)的默認(rèn)設(shè)置為falseXmlSerializeString 表明包括字符串在內(nèi)的所有返回類型是否都序列化為XML,默認(rèn)為false,當(dāng)響應(yīng)格式設(shè)置為JSON時(shí),將忽略該屬性的值2023年10月14日第19頁(yè)創(chuàng)建Web服務(wù)使用VS創(chuàng)建Web服務(wù)非常簡(jiǎn)單,只需選擇相應(yīng)的模板,然后按向?qū)崾炯纯伞Ec其他所有文檔類型一樣,VS也附帶有Web服務(wù)模板??梢允褂谩咎砑有马?xiàng)】對(duì)話框來(lái)添加Web服務(wù)。然后可以修改服務(wù),并在Web瀏覽器中使用ASP.NET運(yùn)行庫(kù)自動(dòng)創(chuàng)建的標(biāo)準(zhǔn)測(cè)試頁(yè)面測(cè)試它。當(dāng)Web服務(wù)正確運(yùn)行時(shí),就可以調(diào)用該服務(wù)。2023年10月14日第20頁(yè)2023年10月14日第21頁(yè)調(diào)用Web服務(wù)調(diào)用Web服務(wù)的第一步就是先找到一個(gè)滿足需要的Web服務(wù)。在找到一個(gè)服務(wù)后,就可以得到這個(gè)Web服務(wù)的描述信息、分組的分類信息和綁定信息。然后根據(jù)描述信息,調(diào)用相應(yīng)的方法。為了找到已經(jīng)存在的Web服務(wù),Microsoft、IBM和Ariba合作建立了一個(gè)帶有UDDI服務(wù)的網(wǎng)站。如果一個(gè)公司要發(fā)布自己的Web服務(wù),就可以在UDDI中注冊(cè)它。有了UDDI商務(wù)注冊(cè)表和UDDIAPI,就可以編程定位Web服務(wù)的信息了。2023年10月14日第22頁(yè)調(diào)用Web服務(wù)流程圖2023年10月14日第23頁(yè)調(diào)用Web服務(wù)引用2023年10月14日第24頁(yè)創(chuàng)建支持AJAX的Web服務(wù)最適合AJAX應(yīng)用程序的服務(wù)主要涉及向Web客戶端公開數(shù)據(jù)和資源。它可以通過(guò)HTTP獲得,并要求客戶端使用URL(也可以是HTTP頭)訪問(wèn)數(shù)據(jù)和命令操作。前面已經(jīng)介紹過(guò)只需將[System.Web.Script.Services.ScriptService]前面的注釋符號(hào)刪除,即可將整個(gè)服務(wù)提供為客戶端腳本服務(wù)。2023年10月14日第25頁(yè)在AJAX站點(diǎn)中調(diào)用Web服務(wù)ScriptManager控件幾乎是所有與Ajax相關(guān)的操作中必不可少的。使用Web服務(wù)時(shí),需要告知ScriptManager要給客戶端腳本提供Web服務(wù)。有兩種方法可以實(shí)現(xiàn):在母版頁(yè)中的ScriptManager中。在使用Web服務(wù)的內(nèi)容頁(yè)中使用ScriptManagerProxy控件。要在全部或大多數(shù)頁(yè)面中使用Web服務(wù),最好是在母版頁(yè)的ScriptManager中聲明Web服務(wù)。給ScriptManager控件提供一個(gè)<Services>元素,該元素再包含指向公共服務(wù)的一個(gè)或多個(gè)ServiceReference元素。2023年10月14日第26頁(yè)本章內(nèi)容9.1Web服務(wù)概述9.2創(chuàng)建和調(diào)用Web服務(wù)9.3上機(jī)練習(xí)9.4習(xí)題2023年10月14日第27頁(yè)9.3上機(jī)練習(xí)本章的上機(jī)練習(xí)將演示如何在AJAX站點(diǎn)中調(diào)用頁(yè)面方法頁(yè)面方法和Web服務(wù)有一些共同之處。兩者都可以使用很少的代碼在客戶端調(diào)用??梢韵蛩鼈儼l(fā)送數(shù)據(jù),并接收回發(fā)的數(shù)據(jù)。另外,當(dāng)調(diào)用它們時(shí),可以定義成功和失敗回調(diào)方法。兩者所不同的是,頁(yè)面方法直接在現(xiàn)有的ASPX頁(yè)面內(nèi)定義,而不是在單獨(dú)的ASMX服務(wù)文件中定義。而且,只能從頁(yè)面運(yùn)行的腳本中調(diào)用頁(yè)面方法。要啟用頁(yè)面方法,需要將ScriptManager控件的EnablePageMethods屬性設(shè)置為True。不能在ScriptManagerProxy控件沒(méi)有該屬性,因此需要直接在ScriptManager控件上進(jìn)行設(shè)置。2023年1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度米面產(chǎn)品冷鏈物流配送服務(wù)合同4篇
- 2025年度模特影視廣告模特聘用合同協(xié)議
- 二零二五年度奶牛養(yǎng)殖信息化管理系統(tǒng)采購(gòu)合同4篇
- 2025年度藝術(shù)品抵押貸款服務(wù)合同
- 杯間乾坤酒中情懷中國(guó)傳統(tǒng)文化之酒文化講解
- 2025年度個(gè)人房產(chǎn)托管服務(wù)合同范本2篇
- 上海國(guó)資國(guó)企創(chuàng)新基地2024年度區(qū)塊鏈創(chuàng)新應(yīng)用白皮書
- 二零二五年度環(huán)保污染治理設(shè)施運(yùn)營(yíng)合同4篇
- 二零二五年度房地產(chǎn)項(xiàng)目營(yíng)銷策劃合同
- 課題申報(bào)參考:農(nóng)村婦女土地權(quán)益特殊保障制度研究-基于浙江、四川、貴州12區(qū)縣的實(shí)證分析
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 安徽省合肥市2025年高三第一次教學(xué)質(zhì)量檢測(cè)地理試題(含答案)
- 計(jì)劃合同部部長(zhǎng)述職報(bào)告范文
- 風(fēng)光儲(chǔ)儲(chǔ)能項(xiàng)目PCS艙、電池艙吊裝方案
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專題培訓(xùn)課件
- 二手車車主寄售協(xié)議書范文范本
- 窗簾采購(gòu)?fù)稑?biāo)方案(技術(shù)方案)
- 基于學(xué)習(xí)任務(wù)群的小學(xué)語(yǔ)文單元整體教學(xué)設(shè)計(jì)策略的探究
- 高中英語(yǔ)原版小說(shuō)整書閱讀指導(dǎo)《奇跡男孩》(wonder)-Part one 講義
- GB/T 9755-2001合成樹脂乳液外墻涂料
評(píng)論
0/150
提交評(píng)論