第十三章創(chuàng)建Web服務(wù)_第1頁
第十三章創(chuàng)建Web服務(wù)_第2頁
第十三章創(chuàng)建Web服務(wù)_第3頁
第十三章創(chuàng)建Web服務(wù)_第4頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第十三章創(chuàng)建Web服務(wù)2回顧跟蹤是ASP.NET 引入的新功能,只需對(duì)頁面和應(yīng)用程序啟用此功能,就可以查看有關(guān)單個(gè)ASP.NET 頁請(qǐng)求的診斷信息頁面級(jí)跟蹤具有一個(gè)稱為 TraceMode 的屬性,此屬性接受 SortByCategory 或 SortByTime 屬性值,以決定如何顯示輸出結(jié)果應(yīng)用程序級(jí)跟蹤將啟動(dòng)對(duì)整個(gè)應(yīng)用程序的跟蹤。需要在web.config配置文件中進(jìn)行設(shè)置緩存是一項(xiàng)在計(jì)算中廣泛用來提高性能的技術(shù),它將訪問頻率高的數(shù)據(jù)或構(gòu)造成本高的數(shù)據(jù)保留在內(nèi)存中輸出緩存將緩存整個(gè)頁面,數(shù)據(jù)緩存將設(shè)置內(nèi)存變量緩存使用 VS.NET的“Web安裝項(xiàng)目”可以將應(yīng)用程序打包成易于部署的形式3目

2、標(biāo)了解Web 服務(wù)及其特征了解 Web 服務(wù)的一般結(jié)構(gòu)使用 VS.NET 2003 創(chuàng)建 Web 服務(wù)理解Web 服務(wù)的各種文件和結(jié)構(gòu)4服務(wù) 3-1“服務(wù)”一詞的定義是“作為職業(yè)或業(yè)務(wù)而為別人所做的工作”5服務(wù) 3-2計(jì)算機(jī)中的服務(wù)應(yīng)用程序服務(wù)系統(tǒng)服務(wù)應(yīng)用程序服務(wù)應(yīng)用服務(wù)表示用戶活動(dòng)需求,如瀏覽電子郵件、獲取資料和查看股票行情 系統(tǒng)服務(wù)系統(tǒng)服務(wù)表示系統(tǒng)的內(nèi)部基礎(chǔ)需求和管理,如安全、存儲(chǔ)、故障恢復(fù)、事務(wù)管理和消息處理6服務(wù) 3-3特征接口注冊(cè)使用接口可以從其他程序調(diào)用服務(wù) 服務(wù)需注冊(cè)到注冊(cè)表中,這樣搜索者才可以找到該服務(wù)7Web 服務(wù) 2-1Web 服務(wù)可以描述為可以在 Web 上部署并可以被任

3、何應(yīng)用程序或其他服務(wù)調(diào)用的功能它可以是商業(yè)應(yīng)用功能,也可以是系統(tǒng)功能8Web 服務(wù) 2-2Web 服務(wù)提供以下服務(wù):企業(yè)到企業(yè)企業(yè)到客戶點(diǎn)對(duì)點(diǎn)Web 服務(wù)縮小了 Web 應(yīng)用程序之間的“通信隔閡”,增強(qiáng)了交互性9Web 服務(wù)的特征互操作性:任何的 Web Service都可以與其他 Web Service進(jìn)行交互。由于有了SOAP這個(gè)所有主要供應(yīng)商都支持的新標(biāo)準(zhǔn)協(xié)議,因而避免了在CORBA、DCOM 和其他協(xié)議之間轉(zhuǎn)換的麻煩。還因?yàn)榭梢允褂萌魏握Z言來編寫 Web Service,因此開發(fā)者無需更改其開發(fā)環(huán)境,就可編寫和使用 Web Service普遍性:Web Service使用 HTTP 和

4、 XML 進(jìn)行通信。因此,任何支持這些技術(shù)的設(shè)備都可以擁有和訪問 Web Service。你可以通過Internet Explore瀏覽器來訪問它,你甚至也可以通過智能手機(jī)來訪問它Web 服務(wù)的一個(gè)重要特征是支持松散耦合。一個(gè)應(yīng)用程序可以分解為多個(gè)邏輯服務(wù)組件,其中的每個(gè)服務(wù)組件都可以使用結(jié)構(gòu)框架構(gòu)建,也可以在物理上分布于多個(gè)計(jì)算機(jī)之間。松散耦合的另一個(gè)重要方面是 Web 服務(wù)只在需要時(shí)實(shí)時(shí)集成10一般結(jié)構(gòu)Web 服務(wù)外觀Web 服務(wù)邏輯數(shù)據(jù)訪問數(shù)據(jù)Web 服務(wù)服務(wù)器請(qǐng)求服務(wù)器響應(yīng)獲取聯(lián)系該層存儲(chǔ) Web 服務(wù)所需的信息和數(shù)據(jù) 該層使數(shù)據(jù)存儲(chǔ)與對(duì)業(yè)務(wù)邏輯的修改隔離,因此,維護(hù)了數(shù)據(jù)的完整性 該

5、層實(shí)際實(shí)現(xiàn)所有的 Web 服務(wù)邏輯該層是一個(gè)界面,直接映射 Web 服務(wù)公開的操作客戶端應(yīng)用程序在需要服務(wù)時(shí)與偵聽器層進(jìn)行通信。該層接受請(qǐng)求并進(jìn)行分析,然后將包含在此消息中的參數(shù)分發(fā)至業(yè)務(wù)面的相應(yīng)方法中 偵聽器11SOAP 和 Web 服務(wù)ASP 頁面Web 服務(wù)Soap 協(xié)議Web 服務(wù)SOAP 主要用于從 ASP 頁內(nèi)調(diào)用 Web 服務(wù)信息信息信息信息SOAP 是輕量級(jí)別協(xié)議,用于在分散的、分布式計(jì)算環(huán)境中交換信息SOAP 使用 HTTP 在網(wǎng)絡(luò)上進(jìn)行通信或傳遞信息,使用 XML 定義數(shù)據(jù)能力12創(chuàng)建 Web 服務(wù) 2-1從“開始”菜單中單擊“Microsoft Visual Studio

6、 .NET 2003”,打開 VS.NET IDE,并創(chuàng)建一個(gè)新項(xiàng)目。在“新建項(xiàng)目”對(duì)話框中,將“項(xiàng)目類型”選為“Visual C# 項(xiàng)目”,然后將“模板”選為“ASP.NET Web 服務(wù)”默認(rèn)的項(xiàng)目名為 WebService1。重新命名該項(xiàng)目并根據(jù)需要更改其位置。本示例中,將在 aspex 文件夾中創(chuàng)建名為 CH13 的 Web 服務(wù)項(xiàng)目引用Air.dll包VS.NET 生成的默認(rèn)服務(wù)文件為 Service1.asmx。刪除該文件,然后添加一個(gè)新的 Web 服務(wù)文件,名為 QueryFlight.asmx。右鍵單擊該文件并選擇“設(shè)置為起始頁”將該頁設(shè)置為起始頁 13創(chuàng)建 Web 服務(wù) 2-

7、2在該代碼窗口中,需要添加一個(gè)通過 Internet 公開和調(diào)用的方法。此類方法又稱為 WebMethod最后,生成并執(zhí)行此項(xiàng)目。輸出結(jié)果如圖所示。在瀏覽器窗口中會(huì)出現(xiàn) GetFlightInfo() 方法單擊 GetFlightInfo 鏈接,顯示與該圖類似的窗口。該窗口顯示四個(gè)參數(shù)departureCityId、arrivalCityId、beginDate、endDate 及其旁邊的文本框。在四個(gè)文本框里分別輸入1、2、2005-1-1和2005-12-31,然后單擊“調(diào)用” WebMethodpublic FlightCollection GetFlightInfo( int depa

8、rtureCityId, int arrivalCityId, DateTime beginDate, DateTime endDate )Flights flights = new Flights();Flights.Condition condition = new Air.Class.Flights.Condition();condition._ArrivalCityId = arrivalCityId;condition._DepartureCityId = departureCityId;condition._BeginDate = beginDate;condition._EndD

9、ate = endDate;return flights.GetFlights( condition );此時(shí)會(huì)查詢到航班信息,并顯示結(jié)果,如圖所示 14Web 服務(wù)的結(jié)構(gòu)Web 服務(wù)的結(jié)構(gòu)15Web 服務(wù)中的文件以下是 Web 服務(wù)項(xiàng)目創(chuàng)建的文件: .asmx 和 .cs 文件 .disco 文件 Web.config 文件 AssemblyInfo 文件 Global.asax 和 Global.asax.cs 文件16總結(jié) 2-1Web 服務(wù)是一種自包含、自解釋、模塊化的應(yīng)用程序,它能夠在 Web 上發(fā)布、定位和調(diào)用。這些服務(wù)可執(zhí)行不同的功能,既可以是簡單的請(qǐng)求,也可以是復(fù)雜的業(yè)務(wù)過程。Web 服務(wù)部署完成后,即可由其他應(yīng)用程序和其他 Web 服務(wù)使用Web 服務(wù)結(jié)構(gòu)主要由以下層組成:數(shù)據(jù)存儲(chǔ)數(shù)據(jù)訪問Web 服務(wù)邏輯Web 服務(wù)外觀偵聽器層 WebMethod 標(biāo)簽通知 ASP.NET 編譯器,接下來的方法是一個(gè) Web 方法,它將導(dǎo)出到 Web服務(wù)提供者與服務(wù)注冊(cè)器、服務(wù)代理和服務(wù)請(qǐng)求者一起成為 Web 服務(wù)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論