《ASPNETWeb應(yīng)用開發(fā)七》教學課件_第1頁
《ASPNETWeb應(yīng)用開發(fā)七》教學課件_第2頁
《ASPNETWeb應(yīng)用開發(fā)七》教學課件_第3頁
《ASPNETWeb應(yīng)用開發(fā)七》教學課件_第4頁
《ASPNETWeb應(yīng)用開發(fā)七》教學課件_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章用戶控件和Web服務(wù)提綱用戶控件1Web

services2實戰(zhàn)演練31用戶控件用戶控件是ASP.NET網(wǎng)頁的一部分,它可以在其他網(wǎng)頁中進行重用。對于開發(fā)人員來說,它和“文件包含(includefiles)”的功能類似。然而,用戶控件的功能更加強大,它支持屬性和事件。用戶控件是一種復(fù)合控件,其工作原理非常類似于ASP.NET網(wǎng)頁,同時可以向用戶控件添加現(xiàn)有的Web服務(wù)器控件和標記,并定義控件的屬性和方法,然后可以將用戶控件嵌入ASP.NET網(wǎng)頁中充當一個單元。與Web窗體頁一樣,用戶控件可以在第一次請求時被編譯并存儲在服務(wù)器內(nèi)存中,從而縮小以后請求的響應(yīng)時間。用戶控件與Web窗體頁的區(qū)別用戶控件的文件擴展名必須是.ascx。用戶控件中沒有@page指令,而是包含@Control指令,該指令對配置及其他屬性進行定義。用戶控件不能作為獨立文件運行,而必須像處理任何控件一樣,將它們添加到ASP.NET網(wǎng)頁中。用戶控件在內(nèi)容周圍不包括<html>、<body>和<form>元素。因為在包含用戶控件的Web窗體頁中已經(jīng)包括這些元素。使用用戶控件的主要優(yōu)點可以將常用的內(nèi)容或者控件以及控件的運行程序邏輯設(shè)計為用戶控件,然后便可以在多個網(wǎng)頁中重復(fù)使用該用戶控件,從而省略許多重復(fù)性的工作。例如網(wǎng)頁上的包含Logo、導航欄等內(nèi)容的網(wǎng)頁頭,以及包含版權(quán)說明等內(nèi)容的頁腳。幾乎所有頁都需要相同的頁頭和頁腳,這時可以將它們分別設(shè)置成用戶控件(如header.ascx以及bottom.ascx),以供其他頁使用。如果網(wǎng)頁內(nèi)容需要改變時,只需修改用戶控件中的內(nèi)容,其他使用該用戶控件的網(wǎng)頁會自動隨之改變,網(wǎng)頁的設(shè)計以及維護變得簡單易行。將普通Web頁修改為用戶控件用戶控件不能直接作為一個網(wǎng)頁來顯示,創(chuàng)建好用戶控件后,必須添加到其他Web頁中才能顯示出來。當然我們也可以將已有的aspx頁面修改為用戶控件,其步驟一般如下:去除<HTML><body><form>元素將@Page更改為@Control更改Codebehind屬性引用為擴展名.ascx將基類從System.Web.UI.Page更改為System.Web.UI.UserControl2WebservicesWeb服務(wù)類概述Web服務(wù)協(xié)議和標準使用SOAPWeb服務(wù)Web服務(wù)類概述Web服務(wù)是基于一套描述軟件通信語法和語義的核心標準:XML提供表示數(shù)據(jù)的通用語法;簡單對象訪問協(xié)議(SOAP)提供數(shù)據(jù)交換的語義;Web服務(wù)描述語言(WSDL)提供描述Web服務(wù)功能的機制。其規(guī)范統(tǒng)稱為WS-*體系結(jié)構(gòu),用于定義Web服務(wù)發(fā)現(xiàn)、事件、附件、安全性、可靠的消息傳送、事務(wù)和管理方面的功能。Web服務(wù)類優(yōu)點簡單地說,Web服務(wù)就是一種遠程訪問的標準。它的優(yōu)點首先是跨平臺,HTTP和SOAP等已經(jīng)是互聯(lián)網(wǎng)上通用的協(xié)議;其次是可以解決防火墻問題,如果使用DCOM或CORBA來訪問Web組件,將會被擋在防火墻之外,而使用SOAP則不會有防火墻問題。Web服務(wù)協(xié)議和標準所謂協(xié)議是一個規(guī)則集,它描述了如何在兩個或更多臺設(shè)備之間進行數(shù)據(jù)的傳送和接受。例如,TCP/IP協(xié)議(傳輸控制協(xié)議/Internet協(xié)議)管理如何在Internet上傳輸數(shù)據(jù)包。Web服務(wù)在構(gòu)建時使用了很多業(yè)界標準的協(xié)議。HTTP客戶端向服務(wù)器發(fā)送HTTP請求,服務(wù)器來處理請求,通常情況服務(wù)器會向發(fā)出請求的瀏覽器返回一個HTML頁面。HTTP請求以一個謂詞(verb)開始,瀏覽器經(jīng)常使用的謂詞是GET和POST,在一個典型的HTML表單頁面中,GET用來顯示表單,POST用來提交表單。HTTP-GET在通過GET向服務(wù)器發(fā)出請求時,數(shù)據(jù)是以名/值對的方式直接追加到URL中的。這些數(shù)據(jù)被編碼(這樣可以保證進行傳遞的數(shù)據(jù)都是合法的ASCII字符)然后追加到URL中,通過“?”和URL進行分隔,如以下URL:http://localhost/Asp_Net_Sample(3.5)/WebService.asmx?op=HelloWorldHTTP-POST在通過POST向服務(wù)器發(fā)出請求時,傳輸數(shù)據(jù)也是以名/值對的方式,并且也會被編碼,但是這些數(shù)據(jù)不會追加到URL中,而是作為請求消息的一部分被發(fā)送。POST請求適用于以下情況:傳輸數(shù)據(jù)包含的名/值對數(shù)目很多或者傳輸?shù)臄?shù)據(jù)很長,另外,當要考慮安全性時POST請求比GET請求更安全一些,這是因為HTTP請求消息是可以被加密的。XML可擴展標記語言(ExtensibleMarkupLanguage,XML)是由W3C(WorldWideWebConsortium)認可的一個開放標準,它是用來描述數(shù)據(jù)的(如果想了解更多信息,請訪問/XML/.)。HTML和XML之間一個很顯著的差別就是HTML的讀取器(web瀏覽器)具有很好的代碼容錯能力,而XML文檔的讀取器則完全不同。XML文檔必須要有良好的格式,例如,盡管瀏覽器通常情況下是不關(guān)心元素的大小寫的,但是XML文檔對大小寫敏感。SOAPSOAP(SimpleObjectAccessProtocol,簡單對象訪問協(xié)議)是一種用于控制數(shù)據(jù)交換的XML語法。在.NET的Web服務(wù)中,可以通過HTTP發(fā)送SOAP消息。SOAP是一種簡單的、輕量級信息交換協(xié)議。和XML一樣,SOAP標準是由W3C公布的。SOAP消息由消息內(nèi)容和一個或多個頭模塊組成,并且封裝在SOAPenvelope(SOAP信封)中。SoapEnvelope類由System.Xml.XmlDocument類派生而來,因而所有.NETFramework提供的處理XML的功能都可以應(yīng)用在SOAP上。SOAP協(xié)議在Web服務(wù)間傳遞請求的缺陷在于,SOAP消息十分冗長,因此如果存在帶寬或者傳輸性能問題,建議使用HTTP-GET或HTTP-POST。使用SOAPWeb服務(wù)XMLWebservices基礎(chǔ)結(jié)構(gòu)創(chuàng)建代理創(chuàng)建消費程序XMLWebservices基礎(chǔ)結(jié)構(gòu)圖7-3XMLWebservices基礎(chǔ)結(jié)構(gòu)創(chuàng)建代理在客戶端應(yīng)用程序使用Web服務(wù)之前,必須先創(chuàng)建一個代理。代理就是要調(diào)用的實際代碼的一個替身,它負責整理介于機器間的調(diào)用。服務(wù)器上對請求進行響應(yīng)的Web服務(wù)必須遵循某種適當?shù)膮f(xié)議和格式,通常情況都是SOAP和HTTP。本來程序員要自己編寫所有可以序列化的代碼以及向Web服務(wù)發(fā)送合適的數(shù)據(jù),這個工作量是很大的,幸好代理是和客戶端應(yīng)用程序注冊在一起的,它可以搞定一切,這樣客戶端可以像調(diào)用本地對象的方法那樣調(diào)用Web服務(wù)。代理會將調(diào)用包裝成合適的格式,并以SOAP請求的方式將其發(fā)送給服務(wù)器。當服務(wù)器將SOAP包返回給客戶端時,代理負責對其進行解碼,然后呈現(xiàn)給客戶端,就像本

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論