




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、項(xiàng)目八Web Service、模塊與一般處理程序 任務(wù)一創(chuàng)建Web Service 任務(wù)二調(diào)用Web Service 任務(wù)三HttpHandle的使用 任務(wù)四HttpModule的使用 任務(wù)一創(chuàng)建Web Service【任務(wù)要點(diǎn)】1.了解Web Service2.創(chuàng)建Web Service【案例1】 創(chuàng)建手機(jī)歸屬地查詢的Web Service,運(yùn)行效果如圖8-1所示。 當(dāng)輸入手機(jī)號(hào)后,單擊【調(diào)用】按鈕,則返回查詢結(jié)果的XML文件,如圖8-2所示。下一頁(yè)返回任務(wù)一創(chuàng)建Web Service【具體步驟】(1)創(chuàng)建Web Service。在建立Web服務(wù)之前,首先必須有一個(gè)手機(jī)信息數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中存
2、放了手機(jī)歸屬地信息,本項(xiàng)目中手機(jī)歸屬地信息存放在Mobile.mdb數(shù)據(jù)庫(kù)中的list表中,通過(guò)Web服務(wù)訪問(wèn),如圖8-3所示。 選擇VS 2005菜單中的【文件】【新建網(wǎng)站】命令,彈出【新建網(wǎng)站】對(duì)話框,如圖8-4所示。下一頁(yè)返回上一頁(yè)任務(wù)一創(chuàng)建Web Service 在【新建網(wǎng)站】對(duì)話框中,選擇【ASP.NET Web服務(wù)】選項(xiàng),在【位置】下拉列表框中選擇【文件系統(tǒng)】選項(xiàng),【語(yǔ)言】下拉列表框中選擇C#語(yǔ)言。單擊【瀏覽】按鈕,選擇存放Web服務(wù)的位置,并將Web服務(wù)的文件名修改為“Mobile.asmx”,單擊【確定】按鈕,此時(shí)生成兩個(gè)文件“Mobile.asmx”和在App_Code目錄下
3、的“Mobile.cs”,所有的ASP.NET Web服務(wù)文件都使用“.asmx”為擴(kuò)展名。(2)創(chuàng)建Web服務(wù)方法getMobile。文件中已有一個(gè)Web服務(wù)方法HelloWorld,用下面的Web服務(wù)方法getMobile替換HelloWorld方法。(3)測(cè)試Web Service。按F5鍵運(yùn)行此服務(wù),將顯示圖8-5所示的界面。下一頁(yè)返回上一頁(yè)任務(wù)一創(chuàng)建Web Service【背景知識(shí)】 Web Service簡(jiǎn)介。Web Service是一段位于Internet上的業(yè)務(wù)邏輯,可以通過(guò)標(biāo)準(zhǔn)的Internet協(xié)議(如HTTP、SOAP、WSDL或SMTP)進(jìn)行訪問(wèn)。它實(shí)現(xiàn)了一種在異構(gòu)環(huán)境中
4、各個(gè)組織內(nèi)部及組織之間任意數(shù)量的應(yīng)用程序,或者應(yīng)用程序組件與平臺(tái)和編程語(yǔ)言無(wú)關(guān)的編程模型。Web Service是一門(mén)新興技術(shù),Web服務(wù)模型正在改變傳統(tǒng)軟件的模式,同時(shí)也改變了分布式的計(jì)算方式。Web服務(wù)實(shí)現(xiàn)的功能既可以響應(yīng)客戶端一個(gè)簡(jiǎn)單的請(qǐng)求,也可以完成一個(gè)復(fù)雜的商務(wù)流程,尤其在企業(yè)應(yīng)用方面,降低了企業(yè)之間的壁壘。Web服務(wù)發(fā)布后,其他的應(yīng)用程序和Web服務(wù)就可以通過(guò)Web進(jìn)行查找發(fā)現(xiàn)和調(diào)用該服務(wù)。下一頁(yè)返回上一頁(yè)任務(wù)一創(chuàng)建Web ServiceWeb服務(wù)作為一個(gè)通用的應(yīng)用程序接口,它具有以下幾個(gè)特征。(1)松散耦合(2)完好的封裝性(3)使用標(biāo)準(zhǔn)協(xié)議規(guī)范(4)高度可集成性(5)容易發(fā)布和
5、部署返回上一頁(yè)任務(wù)二調(diào)用Web Service【任務(wù)要點(diǎn)】客戶端調(diào)用Web Service?!景咐?】在ASP.NET頁(yè)面上調(diào)用Web Service。運(yùn)行效果如圖8-6所示?!揪唧w步驟】(1)打開(kāi)VS 2005,新建一個(gè)ASP.NET網(wǎng)站,語(yǔ)言選擇“C#”,項(xiàng)目名稱為“WebServiceClient”。在默認(rèn)的Default.aspx頁(yè)面中添加一個(gè)表格,在表格中添加一個(gè)文本框,用來(lái)接受用戶輸入的手機(jī)號(hào),添加一個(gè)Label,用來(lái)顯示查詢結(jié)果。(2)建立Web服務(wù)客戶端代理。(3)添加查詢按鈕事件代碼。下一頁(yè)返回任務(wù)二調(diào)用Web Service【背景知識(shí)】(1)調(diào)用Web服務(wù)方法采用的協(xié)議。
6、客戶端可用HTTP-GET、HTTP-POST或SOAP協(xié)議調(diào)用Web服務(wù)方法。HTTP-GET和HTTP-POST協(xié)議是Web網(wǎng)頁(yè)傳遞參數(shù)的標(biāo)準(zhǔn)協(xié)議,使用這兩種協(xié)議調(diào)用Web服務(wù)方法只能采用變量名/變量值對(duì)傳遞參數(shù),無(wú)法傳遞像DataSet、二進(jìn)制文件等數(shù)據(jù)類型,為了傳遞復(fù)雜數(shù)據(jù)類型,應(yīng)采用SOAP協(xié)議。SOAP(Simple ObjectAccess Protocol)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,是基于XML的消息傳遞協(xié)議,由于是基于XML的,保證了不同系統(tǒng)的不同程序或組件之間,只要支持SOAP,都可以互相通信。下一頁(yè)返回上一頁(yè)任務(wù)二調(diào)用Web Service(2)SOAP是一個(gè)用來(lái)在分散、分布式的
7、環(huán)境中交換信息的簡(jiǎn)單協(xié)議。由于SOAP消息的格式是標(biāo)準(zhǔn)的,并且基于XML,所以SOAP可以用在不同的計(jì)算機(jī)體系結(jié)構(gòu)、不同的語(yǔ)言和不同的操作系統(tǒng)之間進(jìn)行通信。Web服務(wù)就是使用SOAP作為它的標(biāo)準(zhǔn)通信協(xié)議。 SOAP應(yīng)用起來(lái)比較簡(jiǎn)單方便,可以用在HTTP、SMTP或其他協(xié)議傳輸上。這就是SOAP被廣泛應(yīng)用的原因所在。SOAP傳輸?shù)闹饕荢OAP消息,它主要包括SOAP信封(Envelope),可選的SOAP報(bào)頭(Header)和必須的SOAP實(shí)體(Body)。SOAP信封是SOAP消息的頂級(jí)元素,是必需的,它包含兩個(gè)子元素Header和Body。SOAP報(bào)頭是可選的,它是一種用來(lái)向SOAP消息添
8、加額外特性的通用機(jī)制。SOAP報(bào)體Body元素中包含發(fā)送給最終目標(biāo)節(jié)點(diǎn)的信息,它是必需的。SOAP消息的最終接收者必須要正確處理Body元素。SOAP信息包的具體結(jié)構(gòu)如圖8-10所示。返回上一頁(yè)任務(wù)三HttpHandle的使用【任務(wù)要點(diǎn)】1.HttpHandle的概念2.使用HttpHandle實(shí)現(xiàn)復(fù)雜操作【案例1】 實(shí)現(xiàn)頁(yè)面驗(yàn)證碼,每次刷新并生成新的驗(yàn)證碼,具體運(yùn)行效果如圖8-12所示?!揪唧w步驟】(1)創(chuàng)建HttpHandle處理程序。首先,啟動(dòng)VS 2005,創(chuàng)建一個(gè)ASP.NET網(wǎng)站,選擇【項(xiàng)目】【添加新項(xiàng)】命令,在彈出的對(duì)話框中選擇【一般處理程序】選項(xiàng),如圖8-13所示。下一頁(yè)返回任
9、務(wù)三HttpHandle的使用(2)修改處理程序代碼(3)在需要調(diào)用的頁(yè)面中添加調(diào)用圖像代碼,添加完成后,運(yùn)行程序則可以實(shí)現(xiàn)如圖8-12所示的效果。【案例2】 使用HttpHandler實(shí)現(xiàn)對(duì)站點(diǎn)下所有圖片加水印“A教程”。運(yùn)行效果如圖8-14所示。下一頁(yè)返回上一頁(yè)任務(wù)三HttpHandle的使用【具體步驟】(1)創(chuàng)建HttpHandle處理程序。首先,啟動(dòng)VS 2005,創(chuàng)建一個(gè)ASP.NET網(wǎng)站,選擇【項(xiàng)目】【添加新項(xiàng)】命令,在彈出的對(duì)話框中選擇【類】選項(xiàng),將類的名稱修改為“WaterMark”,如圖8-15所示。 單擊【添加】按鈕,在生成的類中,修改類代碼,讓其實(shí)現(xiàn)IHttpHandle
10、r接口。(2)修改Web.config文件。(3)程序的部署。在IIS中部署此類程序需要注意,由于在默認(rèn)情況下IIS對(duì)“.jpg”類型的圖片不做任何處理,所以在部署時(shí),首先應(yīng)打開(kāi)網(wǎng)站屬性對(duì)話框,如圖8-16所示。下一頁(yè)返回上一頁(yè)任務(wù)三HttpHandle的使用 單擊【配置】按鈕,此時(shí)彈出【應(yīng)用程序配置】對(duì)話框,如圖8-17所示。 單擊【添加】按鈕,彈出【添加/編輯應(yīng)用程序擴(kuò)展名映射】對(duì)話框,如圖8-18所示。 選擇可執(zhí)行文件為“aspnet_isapi.dll”,此文件在“C:WINDOWSMicrosoft.NETFrameworkv2.0.50727”目錄下。返回上一頁(yè)任務(wù)四HttpMod
11、ule的使用【任務(wù)要點(diǎn)】1.HttpModule的概念2.使用HttpModule實(shí)現(xiàn)對(duì)請(qǐng)求的過(guò)濾【案例1】 使用HttpModule實(shí)現(xiàn)對(duì)整個(gè)站點(diǎn)的訪問(wèn)控制,也就是用戶必須通過(guò)登錄頁(yè)面進(jìn)入系統(tǒng),防止用戶直接輸入U(xiǎn)RL地址訪問(wèn)系統(tǒng)頁(yè)面。準(zhǔn)備兩個(gè)或兩個(gè)以上的頁(yè)面,在沒(méi)有獲得授權(quán)之前,在地址欄輸入其他任何頁(yè)面地址都會(huì)跳轉(zhuǎn)到登錄頁(yè)面,省去了在ASP中每個(gè)頁(yè)面都需要判斷會(huì)話的麻煩。具體運(yùn)行效果如圖8-19所示。 如果登錄成功,此時(shí)將在所有頁(yè)面上顯示歡迎語(yǔ)“歡迎您!xxxxxx!”,效果如圖8-20所示。下一頁(yè)返回任務(wù)四HttpModule的使用【具體步驟】(1)創(chuàng)建登錄頁(yè)面“Login.aspx”,主
12、要包括用戶名和密碼兩個(gè)文本框。(2)創(chuàng)建默認(rèn)主頁(yè)面“Default.aspx”,頁(yè)面中不添加任何內(nèi)容,主要用來(lái)輸出歡迎詞。(3)創(chuàng)建HttpModule處理程序“Validator”。啟動(dòng)VS 2005,創(chuàng)建一個(gè)ASP.NET網(wǎng)站,選擇【項(xiàng)目】【添加新項(xiàng)】命令,在彈出的對(duì)話框中選擇【類】選項(xiàng),將類的名稱修改為“Validator”,如圖8-21所示。 單擊【添加】按鈕,在生成的類中,修改類代碼,讓其實(shí)現(xiàn)IHttpModule接口(4)注冊(cè)模塊。在Web.Config中節(jié)點(diǎn)之間添加代碼。下一頁(yè)返回上一頁(yè)任務(wù)四HttpModule的使用【背景知識(shí)】(1)HttpModule和HttpHandler
13、程序運(yùn)行模型。ASP.NET請(qǐng)求處理過(guò)程是基于管道模型的,在模型中ASP.NET把HTTP請(qǐng)求傳遞給管道中的所有模塊。每個(gè)模塊都接收HTTP請(qǐng)求并有完全的控制權(quán)限。模塊可以用任何自認(rèn)為適合的方式來(lái)處理請(qǐng)求。一旦請(qǐng)求經(jīng)過(guò)了所有HTTP模塊,就最終被HTTP處理程序處理。HTTP處理程序?qū)φ?qǐng)求進(jìn)行一些處理,并且結(jié)果將再次經(jīng)過(guò)管道中的HTTP模塊。具體的運(yùn)行模型如圖8-22所示。下一頁(yè)返回上一頁(yè)任務(wù)四HttpModule的使用(2)HttpHandler處理程序:HttpHanlder處理程序是實(shí)現(xiàn)了System.Web.IHttpHandler接口的.NET組件。任何實(shí)現(xiàn)了IHttpHandler
14、接口的類都可以用于處理輸入的HTTP請(qǐng)求。HTTP處理程序與ISAPI擴(kuò)展有些類似。HTTP處理程序和ISAPI擴(kuò)展的差別在于在URL中可以使用HTTP處理程序的文件名稱直接調(diào)用它們,與ISAPI擴(kuò)展類似。HTTP處理程序?qū)崿F(xiàn)了下列方法。1)ProcessRequest,這個(gè)方法實(shí)際上是HTTP處理程序的核心。調(diào)用這個(gè)方法來(lái)處理HTTP請(qǐng)求;2)IsReusable,調(diào)用這個(gè)屬性來(lái)決定HTTP處理程序的實(shí)例是否可以用于處理相同其他類型的請(qǐng)求。HTTP處理程序可以返回True或False來(lái)表明它們是否可以重復(fù)使用。下一頁(yè)返回上一頁(yè)任務(wù)四HttpModule的使用(3)HttpModule模塊處理程序:HTTP模塊是實(shí)現(xiàn)了System.Web.IhttpModule接口的.NET組件。這些組件通過(guò)在某些事件中注冊(cè)自身,把自己插入ASP.NET請(qǐng)求處理管道。當(dāng)這些事件發(fā)生的時(shí)候,ASP.NET調(diào)用對(duì)請(qǐng)求有興趣的HTTP模塊,這樣該模塊就能處理請(qǐng)求了。返回上一頁(yè)圖8-1程序運(yùn)行效果返回圖8-2 XML文件返回圖8-3手機(jī)歸屬地?cái)?shù)據(jù)庫(kù)返回圖8-4新建Web Service返回圖
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 培訓(xùn)學(xué)校租用教室合同
- 專利經(jīng)紀(jì)合同范本
- 雙控合同范本
- 南潯銀行消費(fèi)貸款合同范本
- 社交禮儀在企業(yè)文化中的體現(xiàn)
- 體育合同范本
- 產(chǎn)品補(bǔ)償貿(mào)易合同范本
- 合伙購(gòu)買(mǎi)門(mén)面合同范本
- 鹵菜香料采購(gòu)合同范本
- 會(huì)員合同范本
- 幼兒園公開(kāi)課:大班語(yǔ)言《相反國(guó)》課件(優(yōu)化版)
- 水利設(shè)施維護(hù)投標(biāo)方案(技術(shù)標(biāo))
- 2024屆湖南省長(zhǎng)沙市湖南師大附中等校高三上學(xué)期月考(二)語(yǔ)文試題(解析版)
- 上??萍及嫘W(xué)二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)全冊(cè)教案
- 氣缸磨損的測(cè)量說(shuō)課教案
- 《高鐵乘務(wù)安全管理及應(yīng)急處置》課程教案-崔藝琳編寫(xiě)
- 新課程標(biāo)準(zhǔn)2022版初中歷史考試題及答案
- 前言 馬克思主義中國(guó)化時(shí)代化的歷史進(jìn)程與理論成果
- 產(chǎn)品可靠性測(cè)試計(jì)劃
- 心理健康與職業(yè)生涯(中職)PPT完整全套教學(xué)課件
- 中國(guó)文藝美學(xué)要略·論著·《畫(huà)學(xué)心法問(wèn)答》
評(píng)論
0/150
提交評(píng)論