ASPN-(北京理工大學(xué)出版)-項目八WebService、模塊課件_第1頁
ASPN-(北京理工大學(xué)出版)-項目八WebService、模塊課件_第2頁
ASPN-(北京理工大學(xué)出版)-項目八WebService、模塊課件_第3頁
ASPN-(北京理工大學(xué)出版)-項目八WebService、模塊課件_第4頁
ASPN-(北京理工大學(xué)出版)-項目八WebService、模塊課件_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項目八WebService、模塊與一般處理程序

任務(wù)一創(chuàng)建WebService

任務(wù)二調(diào)用WebService

任務(wù)三HttpHandle的使用

任務(wù)四HttpModule的使用項目八WebService、模塊與一般處理程序任務(wù)一創(chuàng)任務(wù)一創(chuàng)建WebService【任務(wù)要點】1.了解WebService2.創(chuàng)建WebService【案例1】創(chuàng)建手機(jī)歸屬地查詢的WebService,運(yùn)行效果如圖8-1所示。當(dāng)輸入手機(jī)號后,單擊【調(diào)用】按鈕,則返回查詢結(jié)果的XML文件,如圖8-2所示。下一頁返回任務(wù)一創(chuàng)建WebService【任務(wù)要點】下一頁返回任務(wù)一創(chuàng)建WebService【具體步驟】(1)創(chuàng)建WebService。在建立Web服務(wù)之前,首先必須有一個手機(jī)信息數(shù)據(jù)庫,數(shù)據(jù)庫中存放了手機(jī)歸屬地信息,本項目中手機(jī)歸屬地信息存放在Mobile.mdb數(shù)據(jù)庫中的list表中,通過Web服務(wù)訪問,如圖8-3所示。選擇VS2005菜單中的【文件】→【新建網(wǎng)站】命令,彈出【新建網(wǎng)站】對話框,如圖8-4所示。下一頁返回上一頁任務(wù)一創(chuàng)建WebService【具體步驟】下一頁返回上一頁任務(wù)一創(chuàng)建WebService在【新建網(wǎng)站】對話框中,選擇【ASP.NETWeb服務(wù)】選項,在【位置】下拉列表框中選擇【文件系統(tǒng)】選項,【語言】下拉列表框中選擇C#語言。單擊【瀏覽】按鈕,選擇存放Web服務(wù)的位置,并將Web服務(wù)的文件名修改為“Mobile.asmx”,單擊【確定】按鈕,此時生成兩個文件“Mobile.asmx”和在App_Code目錄下的“Mobile.cs”,所有的ASP.NETWeb服務(wù)文件都使用“.asmx”為擴(kuò)展名。(2)創(chuàng)建Web服務(wù)方法getMobile。文件中已有一個Web服務(wù)方法HelloWorld,用下面的Web服務(wù)方法getMobile替換HelloWorld方法。(3)測試WebService。按F5鍵運(yùn)行此服務(wù),將顯示圖8-5所示的界面。下一頁返回上一頁任務(wù)一創(chuàng)建WebService任務(wù)一創(chuàng)建WebService【背景知識】WebService簡介。WebService是一段位于Internet上的業(yè)務(wù)邏輯,可以通過標(biāo)準(zhǔn)的Internet協(xié)議(如HTTP、SOAP、WSDL或SMTP)進(jìn)行訪問。它實現(xiàn)了一種在異構(gòu)環(huán)境中各個組織內(nèi)部及組織之間任意數(shù)量的應(yīng)用程序,或者應(yīng)用程序組件與平臺和編程語言無關(guān)的編程模型。WebService是一門新興技術(shù),Web服務(wù)模型正在改變傳統(tǒng)軟件的模式,同時也改變了分布式的計算方式。Web服務(wù)實現(xiàn)的功能既可以響應(yīng)客戶端一個簡單的請求,也可以完成一個復(fù)雜的商務(wù)流程,尤其在企業(yè)應(yīng)用方面,降低了企業(yè)之間的壁壘。Web服務(wù)發(fā)布后,其他的應(yīng)用程序和Web服務(wù)就可以通過Web進(jìn)行查找發(fā)現(xiàn)和調(diào)用該服務(wù)。下一頁返回上一頁任務(wù)一創(chuàng)建WebService【背景知識】下一頁返回上一頁任務(wù)一創(chuàng)建WebServiceWeb服務(wù)作為一個通用的應(yīng)用程序接口,它具有以下幾個特征。(1)松散耦合(2)完好的封裝性(3)使用標(biāo)準(zhǔn)協(xié)議規(guī)范(4)高度可集成性(5)容易發(fā)布和部署返回上一頁任務(wù)一創(chuàng)建WebServiceWeb服務(wù)作為一個通用的應(yīng)用任務(wù)二調(diào)用WebService【任務(wù)要點】客戶端調(diào)用WebService。【案例1】在ASP.NET頁面上調(diào)用WebService。運(yùn)行效果如圖8-6所示?!揪唧w步驟】(1)打開VS2005,新建一個ASP.NET網(wǎng)站,語言選擇“C#”,項目名稱為“WebServiceClient”。在默認(rèn)的Default.aspx頁面中添加一個表格,在表格中添加一個文本框,用來接受用戶輸入的手機(jī)號,添加一個Label,用來顯示查詢結(jié)果。(2)建立Web服務(wù)客戶端代理。(3)添加查詢按鈕事件代碼。下一頁返回任務(wù)二調(diào)用WebService【任務(wù)要點】下一頁返回任務(wù)二調(diào)用WebService【背景知識】(1)調(diào)用Web服務(wù)方法采用的協(xié)議。客戶端可用HTTP-GET、HTTP-POST或SOAP協(xié)議調(diào)用Web服務(wù)方法。HTTP-GET和HTTP-POST協(xié)議是Web網(wǎng)頁傳遞參數(shù)的標(biāo)準(zhǔn)協(xié)議,使用這兩種協(xié)議調(diào)用Web服務(wù)方法只能采用變量名/變量值對傳遞參數(shù),無法傳遞像DataSet、二進(jìn)制文件等數(shù)據(jù)類型,為了傳遞復(fù)雜數(shù)據(jù)類型,應(yīng)采用SOAP協(xié)議。SOAP(SimpleObjectAccessProtocol)簡單對象訪問協(xié)議,是基于XML的消息傳遞協(xié)議,由于是基于XML的,保證了不同系統(tǒng)的不同程序或組件之間,只要支持SOAP,都可以互相通信。下一頁返回上一頁任務(wù)二調(diào)用WebService【背景知識】下一頁返回上一頁任務(wù)二調(diào)用WebService(2)SOAP是一個用來在分散、分布式的環(huán)境中交換信息的簡單協(xié)議。由于SOAP消息的格式是標(biāo)準(zhǔn)的,并且基于XML,所以SOAP可以用在不同的計算機(jī)體系結(jié)構(gòu)、不同的語言和不同的操作系統(tǒng)之間進(jìn)行通信。Web服務(wù)就是使用SOAP作為它的標(biāo)準(zhǔn)通信協(xié)議。SOAP應(yīng)用起來比較簡單方便,可以用在HTTP、SMTP或其他協(xié)議傳輸上。這就是SOAP被廣泛應(yīng)用的原因所在。SOAP傳輸?shù)闹饕荢OAP消息,它主要包括SOAP信封(Envelope),可選的SOAP報頭(Header)和必須的SOAP實體(Body)。SOAP信封是SOAP消息的頂級元素,是必需的,它包含兩個子元素Header和Body。SOAP報頭是可選的,它是一種用來向SOAP消息添加額外特性的通用機(jī)制。SOAP報體Body元素中包含發(fā)送給最終目標(biāo)節(jié)點的信息,它是必需的。SOAP消息的最終接收者必須要正確處理Body元素。SOAP信息包的具體結(jié)構(gòu)如圖8-10所示。返回上一頁任務(wù)二調(diào)用WebService(2)SOAP是一個用來在分任務(wù)三HttpHandle的使用【任務(wù)要點】1.HttpHandle的概念2.使用HttpHandle實現(xiàn)復(fù)雜操作【案例1】實現(xiàn)頁面驗證碼,每次刷新并生成新的驗證碼,具體運(yùn)行效果如圖8-12所示?!揪唧w步驟】(1)創(chuàng)建HttpHandle處理程序。首先,啟動VS2005,創(chuàng)建一個ASP.NET網(wǎng)站,選擇【項目】→【添加新項】命令,在彈出的對話框中選擇【一般處理程序】選項,如圖8-13所示。下一頁返回任務(wù)三HttpHandle的使用【任務(wù)要點】下一頁返回任務(wù)三HttpHandle的使用(2)修改處理程序代碼(3)在需要調(diào)用的頁面中添加調(diào)用圖像代碼,添加完成后,運(yùn)行程序則可以實現(xiàn)如圖8-12所示的效果?!景咐?】使用HttpHandler實現(xiàn)對站點下所有圖片加水印“A教程”。運(yùn)行效果如圖8-14所示。下一頁返回上一頁任務(wù)三HttpHandle的使用(2)修改處理程序代碼下一頁任務(wù)三HttpHandle的使用【具體步驟】(1)創(chuàng)建HttpHandle處理程序。首先,啟動VS2005,創(chuàng)建一個ASP.NET網(wǎng)站,選擇【項目】→【添加新項】命令,在彈出的對話框中選擇【類】選項,將類的名稱修改為“WaterMark”,如圖8-15所示。單擊【添加】按鈕,在生成的類中,修改類代碼,讓其實現(xiàn)IHttpHandler接口。(2)修改Web.config文件。(3)程序的部署。在IIS中部署此類程序需要注意,由于在默認(rèn)情況下IIS對“.jpg”類型的圖片不做任何處理,所以在部署時,首先應(yīng)打開網(wǎng)站屬性對話框,如圖8-16所示。下一頁返回上一頁任務(wù)三HttpHandle的使用【具體步驟】下一頁返回上一頁任務(wù)三HttpHandle的使用單擊【配置】按鈕,此時彈出【應(yīng)用程序配置】對話框,如圖8-17所示。單擊【添加】按鈕,彈出【添加/編輯應(yīng)用程序擴(kuò)展名映射】對話框,如圖8-18所示。選擇可執(zhí)行文件為“aspnet_isapi.dll”,此文件在“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”目錄下。返回上一頁任務(wù)三HttpHandle的使用任務(wù)四HttpModule的使用【任務(wù)要點】1.HttpModule的概念2.使用HttpModule實現(xiàn)對請求的過濾【案例1】使用HttpModule實現(xiàn)對整個站點的訪問控制,也就是用戶必須通過登錄頁面進(jìn)入系統(tǒng),防止用戶直接輸入URL地址訪問系統(tǒng)頁面。準(zhǔn)備兩個或兩個以上的頁面,在沒有獲得授權(quán)之前,在地址欄輸入其他任何頁面地址都會跳轉(zhuǎn)到登錄頁面,省去了在ASP中每個頁面都需要判斷會話的麻煩。具體運(yùn)行效果如圖8-19所示。如果登錄成功,此時將在所有頁面上顯示歡迎語“歡迎您!xxxxxx!”,效果如圖8-20所示。下一頁返回任務(wù)四HttpModule的使用【任務(wù)要點】下一頁返回任務(wù)四HttpModule的使用【具體步驟】(1)創(chuàng)建登錄頁面“Login.aspx”,主要包括用戶名和密碼兩個文本框。(2)創(chuàng)建默認(rèn)主頁面“Default.aspx”,頁面中不添加任何內(nèi)容,主要用來輸出歡迎詞。(3)創(chuàng)建HttpModule處理程序“Validator”。啟動VS2005,創(chuàng)建一個ASP.NET網(wǎng)站,選擇【項目】→【添加新項】命令,在彈出的對話框中選擇【類】選項,將類的名稱修改為“Validator”,如圖8-21所示。單擊【添加】按鈕,在生成的類中,修改類代碼,讓其實現(xiàn)IHttpModule接口(4)注冊模塊。在Web.Config中<system.web>節(jié)點之間添加代碼。下一頁返回上一頁任務(wù)四HttpModule的使用【具體步驟】下一頁返回上一頁任務(wù)四HttpModule的使用【背景知識】(1)HttpModule和HttpHandler程序運(yùn)行模型。ASP.NET請求處理過程是基于管道模型的,在模型中ASP.NET把HTTP請求傳遞給管道中的所有模塊。每個模塊都接收HTTP請求并有完全的控制權(quán)限。模塊可以用任何自認(rèn)為適合的方式來處理請求。一旦請求經(jīng)過了所有HTTP模塊,就最終被HTTP處理程序處理。HTTP處理程序?qū)φ埱筮M(jìn)行一些處理,并且結(jié)果將再次經(jīng)過管道中的HTTP模塊。具體的運(yùn)行模型如圖8-22所示。下一頁返回上一頁任務(wù)四HttpModule的使用【背景知識】下一頁返回上一頁任務(wù)四HttpModule的使用(2)HttpHandler處理程序:HttpHanlder處理程序是實現(xiàn)了System.Web.IHttpHandler接口的.NET組件。任何實現(xiàn)了IHttpHandler接口的類都可以用于處理輸入的HTTP請求。HTTP處理程序與ISAPI擴(kuò)展有些類似。HTTP處理程序和ISAPI擴(kuò)展的差別在于在URL中可以使用HTTP處理程序的文件名稱直接調(diào)用它們,與ISAPI擴(kuò)展類似。HTTP處理程序?qū)崿F(xiàn)了下列方法。1)ProcessRequest,這個方法實際上是HTTP處理程序的核心。調(diào)用這個方法來處理HTTP請求;2)IsReusable,調(diào)用這個屬性來決定HTTP處理程序的實例是否可以用于處理相同其他類型的請求。HTTP處理程序可以返回True或False來表明它們是否可以重復(fù)使用。下一頁返回上一頁任務(wù)四HttpModule的使用(2)HttpHandler任務(wù)四HttpModule的使用(3)HttpModule模塊處理程序:HTTP模塊是實現(xiàn)了System.Web.IhttpModule接口的.NET組件。這些組件通過在某些事件中注冊自身,把自己插入ASP.NET請求處理管道。當(dāng)這些事件發(fā)生的時候,ASP.NET調(diào)用對請求有興趣的HTTP模塊,這樣該模塊就能處理請求了。返回上一頁任務(wù)四HttpModule的使用(3)HttpModule模圖8-1程序運(yùn)行效果返回圖8-1程序運(yùn)行效果返回圖8-2XML文件返回圖8-2XML文件返回圖8-3手機(jī)歸屬地數(shù)據(jù)庫返回圖8-3手機(jī)歸屬地數(shù)據(jù)庫返回圖8-4新建WebService返回圖8-4新建WebService返回圖8-5程序運(yùn)行效果返回圖8-5程序運(yùn)行效果返回圖8-6程序運(yùn)行效果返回圖8-6程序運(yùn)行效果返回圖8-10SOAP信息包結(jié)構(gòu)返回圖8-10SOAP信息包結(jié)構(gòu)返回圖8-12程序運(yùn)行效果返回圖8-12程序運(yùn)行效果返回圖8-12程序運(yùn)行效果返回圖8-12程序運(yùn)行效果返回圖8-13創(chuàng)建一般處理程序返回圖8-13創(chuàng)建一般處理程序返回圖8-14程序運(yùn)行效果返回圖8-14程序運(yùn)行效果返回圖8-15添加類返回圖8-15添加類返回圖8-16配置IIS屬性返回圖8-16配置IIS屬性返回圖8-17IIS應(yīng)用程序配置返回圖8-17IIS應(yīng)用程序配置返回圖8-18編輯應(yīng)用程序擴(kuò)展名映射返回圖8-18編輯應(yīng)用程序擴(kuò)展名映射返回圖8-19程序運(yùn)行效果(1)返回圖8-19程序運(yùn)行效果(1)返回圖8-20程序運(yùn)行效果(2)返回圖8-20程序運(yùn)行效果(2)返回圖8-21添加類返回圖8-21添加類返回圖8-22HttpModule和HttpHandler程序運(yùn)行模型返回圖8-22HttpModule和HttpHandler程序項目八WebService、模塊與一般處理程序

任務(wù)一創(chuàng)建WebService

任務(wù)二調(diào)用WebService

任務(wù)三HttpHandle的使用

任務(wù)四HttpModule的使用項目八WebService、模塊與一般處理程序任務(wù)一創(chuàng)任務(wù)一創(chuàng)建WebService【任務(wù)要點】1.了解WebService2.創(chuàng)建WebService【案例1】創(chuàng)建手機(jī)歸屬地查詢的WebService,運(yùn)行效果如圖8-1所示。當(dāng)輸入手機(jī)號后,單擊【調(diào)用】按鈕,則返回查詢結(jié)果的XML文件,如圖8-2所示。下一頁返回任務(wù)一創(chuàng)建WebService【任務(wù)要點】下一頁返回任務(wù)一創(chuàng)建WebService【具體步驟】(1)創(chuàng)建WebService。在建立Web服務(wù)之前,首先必須有一個手機(jī)信息數(shù)據(jù)庫,數(shù)據(jù)庫中存放了手機(jī)歸屬地信息,本項目中手機(jī)歸屬地信息存放在Mobile.mdb數(shù)據(jù)庫中的list表中,通過Web服務(wù)訪問,如圖8-3所示。選擇VS2005菜單中的【文件】→【新建網(wǎng)站】命令,彈出【新建網(wǎng)站】對話框,如圖8-4所示。下一頁返回上一頁任務(wù)一創(chuàng)建WebService【具體步驟】下一頁返回上一頁任務(wù)一創(chuàng)建WebService在【新建網(wǎng)站】對話框中,選擇【ASP.NETWeb服務(wù)】選項,在【位置】下拉列表框中選擇【文件系統(tǒng)】選項,【語言】下拉列表框中選擇C#語言。單擊【瀏覽】按鈕,選擇存放Web服務(wù)的位置,并將Web服務(wù)的文件名修改為“Mobile.asmx”,單擊【確定】按鈕,此時生成兩個文件“Mobile.asmx”和在App_Code目錄下的“Mobile.cs”,所有的ASP.NETWeb服務(wù)文件都使用“.asmx”為擴(kuò)展名。(2)創(chuàng)建Web服務(wù)方法getMobile。文件中已有一個Web服務(wù)方法HelloWorld,用下面的Web服務(wù)方法getMobile替換HelloWorld方法。(3)測試WebService。按F5鍵運(yùn)行此服務(wù),將顯示圖8-5所示的界面。下一頁返回上一頁任務(wù)一創(chuàng)建WebService任務(wù)一創(chuàng)建WebService【背景知識】WebService簡介。WebService是一段位于Internet上的業(yè)務(wù)邏輯,可以通過標(biāo)準(zhǔn)的Internet協(xié)議(如HTTP、SOAP、WSDL或SMTP)進(jìn)行訪問。它實現(xiàn)了一種在異構(gòu)環(huán)境中各個組織內(nèi)部及組織之間任意數(shù)量的應(yīng)用程序,或者應(yīng)用程序組件與平臺和編程語言無關(guān)的編程模型。WebService是一門新興技術(shù),Web服務(wù)模型正在改變傳統(tǒng)軟件的模式,同時也改變了分布式的計算方式。Web服務(wù)實現(xiàn)的功能既可以響應(yīng)客戶端一個簡單的請求,也可以完成一個復(fù)雜的商務(wù)流程,尤其在企業(yè)應(yīng)用方面,降低了企業(yè)之間的壁壘。Web服務(wù)發(fā)布后,其他的應(yīng)用程序和Web服務(wù)就可以通過Web進(jìn)行查找發(fā)現(xiàn)和調(diào)用該服務(wù)。下一頁返回上一頁任務(wù)一創(chuàng)建WebService【背景知識】下一頁返回上一頁任務(wù)一創(chuàng)建WebServiceWeb服務(wù)作為一個通用的應(yīng)用程序接口,它具有以下幾個特征。(1)松散耦合(2)完好的封裝性(3)使用標(biāo)準(zhǔn)協(xié)議規(guī)范(4)高度可集成性(5)容易發(fā)布和部署返回上一頁任務(wù)一創(chuàng)建WebServiceWeb服務(wù)作為一個通用的應(yīng)用任務(wù)二調(diào)用WebService【任務(wù)要點】客戶端調(diào)用WebService?!景咐?】在ASP.NET頁面上調(diào)用WebService。運(yùn)行效果如圖8-6所示?!揪唧w步驟】(1)打開VS2005,新建一個ASP.NET網(wǎng)站,語言選擇“C#”,項目名稱為“WebServiceClient”。在默認(rèn)的Default.aspx頁面中添加一個表格,在表格中添加一個文本框,用來接受用戶輸入的手機(jī)號,添加一個Label,用來顯示查詢結(jié)果。(2)建立Web服務(wù)客戶端代理。(3)添加查詢按鈕事件代碼。下一頁返回任務(wù)二調(diào)用WebService【任務(wù)要點】下一頁返回任務(wù)二調(diào)用WebService【背景知識】(1)調(diào)用Web服務(wù)方法采用的協(xié)議??蛻舳丝捎肏TTP-GET、HTTP-POST或SOAP協(xié)議調(diào)用Web服務(wù)方法。HTTP-GET和HTTP-POST協(xié)議是Web網(wǎng)頁傳遞參數(shù)的標(biāo)準(zhǔn)協(xié)議,使用這兩種協(xié)議調(diào)用Web服務(wù)方法只能采用變量名/變量值對傳遞參數(shù),無法傳遞像DataSet、二進(jìn)制文件等數(shù)據(jù)類型,為了傳遞復(fù)雜數(shù)據(jù)類型,應(yīng)采用SOAP協(xié)議。SOAP(SimpleObjectAccessProtocol)簡單對象訪問協(xié)議,是基于XML的消息傳遞協(xié)議,由于是基于XML的,保證了不同系統(tǒng)的不同程序或組件之間,只要支持SOAP,都可以互相通信。下一頁返回上一頁任務(wù)二調(diào)用WebService【背景知識】下一頁返回上一頁任務(wù)二調(diào)用WebService(2)SOAP是一個用來在分散、分布式的環(huán)境中交換信息的簡單協(xié)議。由于SOAP消息的格式是標(biāo)準(zhǔn)的,并且基于XML,所以SOAP可以用在不同的計算機(jī)體系結(jié)構(gòu)、不同的語言和不同的操作系統(tǒng)之間進(jìn)行通信。Web服務(wù)就是使用SOAP作為它的標(biāo)準(zhǔn)通信協(xié)議。SOAP應(yīng)用起來比較簡單方便,可以用在HTTP、SMTP或其他協(xié)議傳輸上。這就是SOAP被廣泛應(yīng)用的原因所在。SOAP傳輸?shù)闹饕荢OAP消息,它主要包括SOAP信封(Envelope),可選的SOAP報頭(Header)和必須的SOAP實體(Body)。SOAP信封是SOAP消息的頂級元素,是必需的,它包含兩個子元素Header和Body。SOAP報頭是可選的,它是一種用來向SOAP消息添加額外特性的通用機(jī)制。SOAP報體Body元素中包含發(fā)送給最終目標(biāo)節(jié)點的信息,它是必需的。SOAP消息的最終接收者必須要正確處理Body元素。SOAP信息包的具體結(jié)構(gòu)如圖8-10所示。返回上一頁任務(wù)二調(diào)用WebService(2)SOAP是一個用來在分任務(wù)三HttpHandle的使用【任務(wù)要點】1.HttpHandle的概念2.使用HttpHandle實現(xiàn)復(fù)雜操作【案例1】實現(xiàn)頁面驗證碼,每次刷新并生成新的驗證碼,具體運(yùn)行效果如圖8-12所示。【具體步驟】(1)創(chuàng)建HttpHandle處理程序。首先,啟動VS2005,創(chuàng)建一個ASP.NET網(wǎng)站,選擇【項目】→【添加新項】命令,在彈出的對話框中選擇【一般處理程序】選項,如圖8-13所示。下一頁返回任務(wù)三HttpHandle的使用【任務(wù)要點】下一頁返回任務(wù)三HttpHandle的使用(2)修改處理程序代碼(3)在需要調(diào)用的頁面中添加調(diào)用圖像代碼,添加完成后,運(yùn)行程序則可以實現(xiàn)如圖8-12所示的效果。【案例2】使用HttpHandler實現(xiàn)對站點下所有圖片加水印“A教程”。運(yùn)行效果如圖8-14所示。下一頁返回上一頁任務(wù)三HttpHandle的使用(2)修改處理程序代碼下一頁任務(wù)三HttpHandle的使用【具體步驟】(1)創(chuàng)建HttpHandle處理程序。首先,啟動VS2005,創(chuàng)建一個ASP.NET網(wǎng)站,選擇【項目】→【添加新項】命令,在彈出的對話框中選擇【類】選項,將類的名稱修改為“WaterMark”,如圖8-15所示。單擊【添加】按鈕,在生成的類中,修改類代碼,讓其實現(xiàn)IHttpHandler接口。(2)修改Web.config文件。(3)程序的部署。在IIS中部署此類程序需要注意,由于在默認(rèn)情況下IIS對“.jpg”類型的圖片不做任何處理,所以在部署時,首先應(yīng)打開網(wǎng)站屬性對話框,如圖8-16所示。下一頁返回上一頁任務(wù)三HttpHandle的使用【具體步驟】下一頁返回上一頁任務(wù)三HttpHandle的使用單擊【配置】按鈕,此時彈出【應(yīng)用程序配置】對話框,如圖8-17所示。單擊【添加】按鈕,彈出【添加/編輯應(yīng)用程序擴(kuò)展名映射】對話框,如圖8-18所示。選擇可執(zhí)行文件為“aspnet_isapi.dll”,此文件在“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”目錄下。返回上一頁任務(wù)三HttpHandle的使用任務(wù)四HttpModule的使用【任務(wù)要點】1.HttpModule的概念2.使用HttpModule實現(xiàn)對請求的過濾【案例1】使用HttpModule實現(xiàn)對整個站點的訪問控制,也就是用戶必須通過登錄頁面進(jìn)入系統(tǒng),防止用戶直接輸入URL地址訪問系統(tǒng)頁面。準(zhǔn)備兩個或兩個以上的頁面,在沒有獲得授權(quán)之前,在地址欄輸入其他任何頁面地址都會跳轉(zhuǎn)到登錄頁面,省去了在ASP中每個頁面都需要判斷會話的麻煩。具體運(yùn)行效果如圖8-19所示。如果登錄成功,此時將在所有頁面上顯示歡迎語“歡迎您!xxxxxx!”,效果如圖8-20所示。下一頁返回任務(wù)四HttpModule的使用【任務(wù)要點】下一頁返回任務(wù)四HttpModule的使用【具體步驟】(1)創(chuàng)建登錄頁面“Login.aspx”,主要包括用戶名和密碼兩個文本框。(2)創(chuàng)建默認(rèn)主頁面“Default.aspx”,頁面中不添加任何內(nèi)容,主要用來輸出歡迎詞。(3)創(chuàng)建HttpModule處理程序“Validator”。啟動VS2005,創(chuàng)建一個ASP.NET網(wǎng)站,選擇【項目】→【添加新項】命令,在彈出的對話框中選擇【類】選項,將類的名稱修改為“Validator”,如圖8-21所示。單擊【添加】按鈕,在生成的類中,修改類代碼,讓其實現(xiàn)IHttpModule接口(4)注冊模塊。在Web.Config中<system.web>節(jié)點之間添加代碼。下一頁返回上一頁任務(wù)四HttpModule的使用【具體步驟】下一頁返回上一頁任務(wù)四HttpModule的使用【背景知識】(1)HttpModule和HttpHandler程序運(yùn)行模型。ASP.NET請求處理過程是基于管道模型的,在模型中ASP.NET把HTTP請求傳遞給管道中的所有模塊。每個模塊都接收HTTP請求并有完全的控制權(quán)限。模塊可以用任何自認(rèn)為適合的方式來處理請求。一旦請求經(jīng)過了所有HTTP模塊,就最終被HTTP處理程序處理。HTTP處理程序?qū)φ埱筮M(jìn)行一些處理,并且結(jié)果將再次經(jīng)過管道中的HTTP模塊。具體的運(yùn)行模型如圖8-22所示。下一頁返回上一頁任務(wù)四HttpModule的使用【背景知識】下一頁返回上一頁任務(wù)四HttpModule的使用(2)HttpHandler處理程序:HttpHanlder處理程序

溫馨提示

  • 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

提交評論