版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第13章 Web Service技術(shù)簡介及應(yīng)用,北京理工大學(xué)計(jì)算機(jī)學(xué)院 金旭亮,ASP.NET程序設(shè)計(jì)教程,主要內(nèi)容,13.1 Web Service概述 13.2 構(gòu)建ASP.NET Web Service 13.3 使用Web Service 13.4 在ASP.NET網(wǎng)站中集成Web Service,2,13.1 SOA與Web Service,未來人們?nèi)绾伍_發(fā)軟件?,SaaS: Software as a Service(軟件即服務(wù))。將軟件視為一種基礎(chǔ)設(shè)施與服務(wù),像“自來水”一樣的東西。 網(wǎng)絡(luò)無所不在,網(wǎng)絡(luò)可以看成是一個(gè)軟件服務(wù)的聚合體,是一個(gè)超級(jí)大“HUB”。 開發(fā)軟件就是“聚合服
2、務(wù)”:大服務(wù)套小服務(wù),這一服務(wù)調(diào)用另一服務(wù),基于互聯(lián)網(wǎng)協(xié)同實(shí)現(xiàn)軟件功能。 高度分布式、異構(gòu)和跨平臺(tái)。,4,SOA,SOA(Service Oriented Architecture,面向服務(wù)的架構(gòu))。以服務(wù)作為軟件的基本構(gòu)造塊來“組裝”軟件。 Web Service是當(dāng)前最成熟的一種SOA技術(shù)。它將網(wǎng)站的功能封裝為可復(fù)用的軟件服務(wù),供其他Web應(yīng)用程序調(diào)用。,5,Web Service的特點(diǎn),Web Service可看成是一個(gè)可復(fù)用的Web應(yīng)用程序組件 Web Service是平臺(tái)無關(guān)的 Web Service是自說明的 可以使用一種統(tǒng)一的機(jī)制來在互聯(lián)網(wǎng)上查找Web Service,6,Web
3、 Services技術(shù)的組成要素,WSDL SOAP UDDI,7,什么是WSDL?,WSDL(Web Service Description Language,Web服務(wù)描述語言) 用于描述Web Service的一種XML格式的語言,通知其他的Web應(yīng)用程序如何調(diào)用自己。,8,Web Service到底是如何“轉(zhuǎn)”起來的?,Web Service 駐留于Web Server中 使用UDDI機(jī)制查找符合要求的Web Service 網(wǎng)絡(luò)中的機(jī)器通過SOAP協(xié)議進(jìn)行通訊,9,使用Web Service,跨網(wǎng)絡(luò)調(diào)用Web Service的內(nèi)部機(jī)理,10,所有這些工作,Visual Studio已
4、幫助人們完成。,13.2 構(gòu)建ASP.NET Web Service,創(chuàng)建Web Service,12,添加自己的Web Service,13,.NET Web Service的實(shí)現(xiàn),WebService(Namespace = “/”) public class Service1 : System.Web.Services.WebService WebMethod public string HelloWorld() return Hello World; ,14,測試Web Service,15,取回Web Service結(jié)果,Web Service以XM
5、L格式返回處理結(jié)果,16,發(fā)布Web Service,可以使用與普通ASP.NET網(wǎng)站一樣的方法發(fā)布提供有Web Service的網(wǎng)站到IIS上,17,13.3 使用Web Service,添加Web引用,在使用Web Service之前,需要先給項(xiàng)目添加Web 引用。,19,訪問Web Service,localhost.MathService srv = new localhost.MathService(); /獲取用戶輸入的兩個(gè)數(shù) double x = Convert.ToDouble(txtX.Text); double y = Convert.ToDouble(txtY.Text)
6、; /調(diào)用Web Service完成兩個(gè)數(shù)相加的工作 lblResult.Text = srv.Add(x, y).ToString();,20,13.4 在ASP.NET網(wǎng)站中集成Web Service,Web Service在ASP.NET中的應(yīng)用,當(dāng)Web Service與ASP.NET網(wǎng)頁位于同一個(gè)ASP.NET應(yīng)用中時(shí),可以在Microsoft AJAX Extension的支持下,通過JavaScript來直接調(diào)用Web Service。,22,使用JavaScript調(diào)用四則運(yùn)算表達(dá)式服務(wù),Demo: UseMathService.aspx,23,優(yōu)點(diǎn):無刷新,速度快!,注意:
7、當(dāng)需要通過JavaScript直接調(diào)用WebService時(shí), 需要給Web Service類加上以下特性: System.Web.Script.Services.ScriptService,使用JavaScript調(diào)用Web Service,添加ScriptManager組件,24, ,通過JavaScript代理對(duì)象調(diào)用Web服務(wù),function oncalculate() / MathService.Add(num1,num2,onSuccess,onFailed); ,Web服務(wù)類名.Web服務(wù)方法名( 參數(shù)列表,成功時(shí)的回調(diào)函數(shù),失敗時(shí)的回調(diào)函數(shù)),回調(diào)函數(shù)的格式,成功回調(diào)函數(shù),2
8、5,function 函數(shù)名(returnData) / returnData代表Web方法返回的數(shù)據(jù) ,失敗回調(diào)函數(shù),其參數(shù)代表了錯(cuò)誤信息,function 失敗回調(diào)函數(shù)(error) var msg; msg=出錯(cuò)信息:+error.get_message(); msg+=n出錯(cuò)類型:+error.get_exceptionType(); msg+=n狀態(tài)碼:+error.get_statusCode(); msg+=n調(diào)用堆棧:+error.get_stackTrace(); alert(msg); ,什么叫“回調(diào)”?,在使用JavaScript調(diào)用Web Service的代碼中,普遍使
9、用回調(diào)(call back)技術(shù)。 簡單地說,使用回調(diào)時(shí),被調(diào)用的函數(shù)( onSuccess 和onFailed )不會(huì)馬上執(zhí)行,而只是“準(zhǔn)備好被調(diào)用”。只有調(diào)用Web Service的函數(shù)MathWebService.Calculate()執(zhí)行完畢之后,這兩個(gè)函數(shù)之一才會(huì)被調(diào)用。 使用回調(diào),可以使瀏覽器不必等待函數(shù)調(diào)用完成即可繼續(xù)響應(yīng)用戶操作。 在多線程開發(fā)中,回調(diào)是一個(gè)非常重要的編程技巧。,26,JavaScript調(diào)用頁面靜態(tài)方法示例,Demo: PageMethod.aspx,27,更多的介紹,使用JavaScript直接調(diào)用Web Service是微軟AJAX Extension支持的新特性,在Visual Studio 2005中如果不安裝AJAX Extension是不能用的,而AJAX Extension是Visual Studio 2008的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 超聲探頭的清潔消毒制度
- 警醫(yī)聯(lián)席制度
- 行業(yè)自律與風(fēng)險(xiǎn)準(zhǔn)備金制度
- 用地政策培訓(xùn)課件
- 心內(nèi)科患者的睡眠管理
- 2026年福建寧德市司法局招聘2人備考考試題庫附答案解析
- 2026年安徽某機(jī)關(guān)醫(yī)院門診部招聘2名備考考試題庫附答案解析
- 2026廣西北海市合浦縣民政局招錄城鎮(zhèn)公益性崗位人員11人備考考試試題附答案解析
- 2026西安鴻德高級(jí)中學(xué)教師招聘參考考試試題附答案解析
- 零售藥品培訓(xùn)課件
- 2026新疆阿合奇縣公益性崗位(鄉(xiāng)村振興專干)招聘44人筆試參考題庫及答案解析
- 北京中央廣播電視總臺(tái)2025年招聘124人筆試歷年參考題庫附帶答案詳解
- 紀(jì)委監(jiān)委辦案安全課件
- 兒科pbl小兒肺炎教案
- 2025年學(xué)校領(lǐng)導(dǎo)干部民主生活會(huì)“五個(gè)帶頭”對(duì)照檢查發(fā)言材料
- 浙江省紹興市上虞區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期語文期末教學(xué)質(zhì)量調(diào)測試卷(含答案)
- 《審計(jì)法》修訂解讀
- 江蘇省姜堰市勵(lì)才實(shí)驗(yàn)學(xué)校2024屆七年級(jí)數(shù)學(xué)第一學(xué)期期末經(jīng)典試題含解析
- 我國歷史文化名城保護(hù)面臨的沖擊與對(duì)策
- 白油化學(xué)品安全技術(shù)說明書
- 馬鞍山市恒達(dá)輕質(zhì)墻體材料有限公司智能化生產(chǎn)線環(huán)保設(shè)施改造項(xiàng)目環(huán)境影響報(bào)告表
評(píng)論
0/150
提交評(píng)論