




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ASP.NET常用對象ASP-NET常用對象ppt課件(全)學(xué)習(xí)內(nèi)容Page類Request對象Response對象Server對象Session對象Cookie對象Application對象 ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象ASP.NET提供了大量的對象類庫,在這些類庫中包含了許多封裝好的內(nèi)置對象,我們只需要直接使用這些對象的方法和屬性,就能簡單快速地完成很多的功能。Pege類、Request對象、Response對象和Serve對象主要用來連接服務(wù)器和客戶端瀏覽器之間的聯(lián)系 。 Cookie對象、Session對象和Application對象則主要用于網(wǎng)站狀態(tài)管
2、理。 ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象 Page類 在ASP.NET Framework中,Page類為ASP.NET應(yīng)用程序從.aspx文件構(gòu)建的所有對象提供基本行為。該類在命名空間 命名空間中定義,從TemplateControl中派生出來,實現(xiàn)了IHttpHandler接口。Page類通常與擴(kuò)展名為.aspx的文件相關(guān)聯(lián),這些文件在運(yùn)行時被編譯為Page對象,并被緩存在服務(wù)器內(nèi)存中。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象ASP.NET頁面的工作過程:客戶端瀏覽器向Web應(yīng)用程序進(jìn)行一個頁面的請求。服務(wù)器端Web應(yīng)用程序接收到這個請求,先查
3、看這個頁面是否被編譯過,如果沒有被編譯過,就編譯這個Web頁面,然后對這個頁面進(jìn)行實例化產(chǎn)生一個Page對象。Page對象根據(jù)客戶請求,把信息返歸給IIS,然后信息由IIS返回給客戶端瀏覽器。在這個過程中,每個頁面都被編譯成一個類,當(dāng)有請求的時候就對這個類進(jìn)行實例化。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象對于頁面生命周期,一共要關(guān)心5個階段:頁面初始化:在這個階段,頁面及其控件被初始化。頁面確定這是一個新的請求還是一個回傳請求。頁面事件處理器Page_PreInit和PageInit被調(diào)用。另外,任何服務(wù)器控件的PreInit和Init被調(diào)用。載入:如果請求是一個回傳請求
4、,控件屬性使用從視圖狀態(tài)和控件狀態(tài)的特殊頁面狀態(tài)容器中恢復(fù)的信息來載入。頁面的Page_Load方法以及服務(wù)器控件的Page_Load方法事件被調(diào)用?;厮褪录幚恚喝绻埱笫且粋€回傳請求,任何控件的回發(fā)事件處理器被調(diào)用。呈現(xiàn):在頁面呈現(xiàn)狀態(tài)中,視圖狀態(tài)保存到頁面,然后每個控件及頁面都是把自己呈現(xiàn)給輸出相應(yīng)流。頁面和控件的PreRender和Render方法先后被調(diào)用。最后,呈現(xiàn)的結(jié)果通過HTTP響應(yīng)發(fā)送回客戶機(jī)。卸載:對頁面使用過的資源進(jìn)行最后的清除處理。控件或頁面的Unload方法被調(diào)用。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Page類中的常見屬性和方法 ASP-NET
5、常用對象ppt課件(全)ASP.NET內(nèi)置對象Page類的常見的事件 ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象由于Pgae_Load在每次頁面加載時運(yùn)行,因此其中的代碼即使在回傳的情況下也會被運(yùn)行,在這個時候Page的IsPostBack屬性就可以用來解決這個問題,這個屬性是用來識別Page對象是否處于一個回送的狀態(tài)下,也就弄清楚是請求頁面的第一個實例,還是請求回送的原來的頁面??梢栽赑gae類的Page_Load事件中使用該屬性,以便數(shù)據(jù)訪問代碼只在首次加載頁面時運(yùn)行,具體代碼如下所示。 protected void Page_Load(object sender,Eve
6、ntAge e if(!IsPostBack) BindDropDownList() ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象 Request對象 Request 對象是類的實例。當(dāng)用戶在客戶端使用Web瀏覽器向Web應(yīng)用程序發(fā)出請求時,就會將客戶端的信息發(fā)送到Web服務(wù)器。Web服務(wù)器就接收到一個HTTP請求,它包含了所有查詢字符串參數(shù)或表單參數(shù)、Cookie數(shù)據(jù)以及瀏覽器的信息。在ASP.NET中運(yùn)行時把這些客戶端的請求信息封裝成Request對象。Request對象的常用方法 BinaryRead:執(zhí)行對當(dāng)前輸入流進(jìn)行指定字節(jié)數(shù)的二進(jìn)制讀取。MapImageCoord
7、inates:將傳入圖象字段窗體參數(shù)影射為適當(dāng)?shù)膞/y坐標(biāo)值。MapPath:為當(dāng)前請求將請求的URL中的虛擬路徑映射到服務(wù)器上的物理路徑。SaveAs:將HTTP請求保存到磁盤。ValidateInput:驗證由客戶端瀏覽器提交的數(shù)據(jù),如果存在具有潛在危險的數(shù)據(jù),則引發(fā)一個異常。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Request對象的常用屬性 ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象 Server對象Server對象是類的實例,它包含了一些與服務(wù)器相關(guān)的信息。使用它可以獲得有關(guān)最新的錯誤信息、對HTML文本進(jìn)行編碼和解碼、訪問和讀寫服務(wù)器端的文件等
8、功能。Server對象的屬性 MachineName:獲取服務(wù)器的計算機(jī)名稱。ScriptTimeout:獲取或設(shè)置請求超時值(以秒計)。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Server對象的方法ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象 Response對象Response對象是類的實例,Response對象封裝了Web服務(wù)器對客戶端請求的響應(yīng),它用來操作HTTP相應(yīng)的信息,用于將結(jié)果返回給請求者。雖然ASP.NET中控件的輸出不需要我們?nèi)慔TML代碼,但是在很多的時候我們希望能自己手動控制輸流,比如文件的下載、重定向、腳步輸出。Response對
9、象的方法 BinaryWrite:將一個二進(jìn)制字符串寫入HTTP輸出流。Clear:清除緩沖區(qū)流中的所有內(nèi)容輸出。Close:關(guān)閉到客戶端的套接字連接。End:將當(dāng)前所有緩沖的輸出發(fā)送到客戶端,停止該頁的執(zhí)行,并引發(fā) Application_EndRequest 事件。Flush:向客戶端發(fā)送當(dāng)前所有緩沖的輸出。Redirect:將客戶端重定向到新的 URL。Write將信息寫入 HTTP 輸出內(nèi)容流。WriteFile將指定的文件直接寫入HTTP內(nèi)容輸出流。 ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Response對象的常用屬性 ASP-NET常用對象ppt課件(全)AS
10、P.NET內(nèi)置對象ASP.NET程序和桌面程序一個顯著的區(qū)別是:對于ASP.NET程序,無法保存程序運(yùn)行的狀態(tài)。由于這個原因,狀態(tài)管理對于Web應(yīng)用程序來說是非常重要的。ASP.NET提供了多種狀態(tài)管理的機(jī)制,包括Session對象、Application對象、Cookie對象等。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象 Session對象 Session對象實際上操作System.Web命名空間中的HttpSessionState類 。Session對象可以為每個用戶的會話存儲信息。Session對象中的信息只能被用戶自己使用,而不能被網(wǎng)站的其他用戶訪問,因此可以在不同的
11、頁面間共享數(shù)據(jù),但是不能在用戶間共享數(shù)據(jù)。利用Session進(jìn)行狀態(tài)管理是一個ASP.NET的顯著特點(diǎn)。它允許程序員把任何類型的數(shù)據(jù)存儲在服務(wù)器上。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象ASP.NET采用一個具有120位的標(biāo)識符來跟蹤每一個Session。ASP.NET中利用專有算法來生成這個標(biāo)識符的值,從而保證了(統(tǒng)計上的)這個值是獨(dú)一無二的,這個特殊的標(biāo)識符就被稱為SessionIDSessionID是傳播于網(wǎng)絡(luò)服務(wù)器和客戶端之間的唯一的一個信息。當(dāng)客戶端出示它的SessionID,ASP.NET找到相應(yīng)的Session,從狀態(tài)服務(wù)器里獲得相應(yīng)的序列化數(shù)據(jù)信息,從而激
12、活該Session,并把它放到一個可以被程序所訪問的集合里。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象為系統(tǒng)能夠正常工作,客戶端必須為每個請求保存相應(yīng)的SessionID,獲取某個請求的SessionID的方式有兩種:使用Cookies。在這種情況下,當(dāng)Session集合被使用時,SessionID被ASP.NET自動轉(zhuǎn)化一個特定的Cookie(被命名為ASP.NET_SessionID)。使用改裝的URL。在這種情況下,SessionID被轉(zhuǎn)化一個特定的改裝的URL。ASP.NET的這個新特性可以讓程序員在客戶端禁用Cookies時創(chuàng)建Session。ASP-NET常用對象
13、ppt課件(全)ASP.NET內(nèi)置對象ASP.NET對于Session內(nèi)容的存儲也提供了多種的模式:InProc(默認(rèn)):Session存儲在IIS進(jìn)程中(Web服務(wù)器內(nèi)存)。InProc擁有最好的性能,但犧牲了健壯性和伸縮性。StateServe:Session存儲在獨(dú)立的Windows服務(wù)進(jìn)程中(可以不是Web服務(wù)器)。SqlServer:Session存儲在SqlServer數(shù)據(jù)庫的表中,可以用aspnet_regsql.exe配置它(SqlServer服務(wù)器) ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Session對象的常用方法 ASP-NET常用對象ppt課件(全
14、)ASP.NET內(nèi)置對象Session對象的屬性 Count:獲取會話狀態(tài)下Session對象的個數(shù)。TimeOutSession:獲取對象的生存周期。SessionID:用于標(biāo)識會話的唯一編號。Session對象具有兩個事件:Session_OnStart事件在創(chuàng)建一個Session時被觸發(fā),Session_OnEnd事件在用戶Session結(jié)束時被調(diào)用。可以在Global.asax文件中為這兩個事件增加處理代碼。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Session對象的使用:在Session里存儲一個DataSet的示例代碼如下: SessiondataSet = d
15、ataSet; /dataSet為DataSet的一個實例可以通過如下的示例代碼從Session里取得該DataSet: dataset = (DataSet) SessiondataSet;對于當(dāng)前用戶來說,Session對象是整個應(yīng)用程序的一個全局變量,程序員在任何頁面代碼里都可以訪問該Session對象。但以下情況下,Session對象有可能會丟失:用戶關(guān)閉瀏覽器或重啟瀏覽器。如果用戶通過另一個瀏覽器窗口進(jìn)入同樣的頁面,盡管當(dāng)前Session依然存在,但在新開的瀏覽器窗口中將找不到原來的Session。Session過期。程序員利用代碼結(jié)束當(dāng)前Session。ASP-NET常用對象ppt
16、課件(全)ASP.NET內(nèi)置對象 Cookie對象 Cookie對象是System.Web命名空間中HttpCookie類的對象。Cookie對象為Web應(yīng)用程序保存用戶相關(guān)信息提供了一種有效的方法。當(dāng)用戶訪問某個的站點(diǎn)時,該站點(diǎn)可以利用Cookie保存用戶首選項或其他信息,這樣當(dāng)用戶下次再訪問該的站點(diǎn)時,應(yīng)用程序就可以檢索以前保存的信息。當(dāng)用戶第一次訪問某個站點(diǎn)時,Web應(yīng)用程序發(fā)送給該用戶一個頁面和一個包含日期和時間的Cookie。用戶的瀏覽器在獲得頁面的同時還得到了這個Cookie,并且將它保存在用戶硬盤上的某個文件夾中。以后如果該用戶再次訪問這個站點(diǎn)上的頁面,瀏覽器就會在本地硬盤上查找
17、與該網(wǎng)站相關(guān)聯(lián)的Cookie。如果Cookie存在,瀏覽器就將它與頁面請求一起發(fā)送到網(wǎng)站,Web應(yīng)用程序就能確定該用戶上一次訪問站點(diǎn)的日期和時間。 ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Cookie中保存的信息片斷以“鍵/值”對的形式儲存,一個“鍵/值”對僅僅是一條命名的數(shù)據(jù)。一個網(wǎng)站只能取得它放在用戶的電腦中的信息,它無法從其它的Cookies文件中取得信息,也無法得到用戶的電腦上的其它任何東西。使用Cookies的優(yōu)點(diǎn)可以歸納如下幾點(diǎn):可配置到期規(guī)則。Cookies可以在瀏覽器會話結(jié)束時到期,或者可以在客戶端計算機(jī)上無限期存在。不需要任何服務(wù)器資源。Cookies存儲
18、在客戶端并在發(fā)送后由服務(wù)器讀取。簡單性。Cookies是一種基于文本的輕量結(jié)構(gòu),包含簡單的鍵值對。數(shù)據(jù)持久性。Cookies通常是客戶端上持續(xù)時間最長的數(shù)據(jù)保留形式。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Cookies對象的屬性 Domain:獲取或設(shè)置將此Cookies與其關(guān)聯(lián)的域。Expires:獲取或設(shè)置此Cookie的過期日期和時間。Name:獲取或設(shè)置Cookies的名稱。Path:獲取或設(shè)置輸出流的HTTP字符集。Secure:獲取或設(shè)置一個值,該值指示是否通過SSL(即僅通過HTTPS)傳輸Cookie。Value:獲取或設(shè)置單個Cookies值。Value
19、s:獲取在單個Cookies對象中包含的鍵值對的集合。Cookies對象的方法 Add:添加一個Cookies變量。Clear:清除Cookies集合中的變量。Get:通過索引或變量名得到Cookies變量值。GetKey:以索引值獲取Cookies變量名稱。Remove:通過Cookies變量名稱來刪除Cookies變量。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象對象Request和Response都提供了一個Cookies集合??梢岳肦esponse對象設(shè)置Cookies的信息,而使用Request對象獲取Cookies的信息。為了設(shè)置一個Cookie,只需要創(chuàng)建一個的
20、實例,把信息賦予該實例,然后把它添加到當(dāng)前的頁面的Response對象里面,創(chuàng)建HttpCookie實例的代碼如下: HttpCookie cookie = new HttpCookie(test); /創(chuàng)建一個cookie實例 cookie.Values.Add(Name,張三); /添加要存儲的信息,采用鍵/值結(jié)合的方式 Response.Cookies.Add(cookie); /把cookie加入當(dāng)前頁面的Response對象里面可以利用Cookie的名字從Request.Cookies集合取得信息,代碼如下: HttpCookie cookie1 = Request.Cookiest
21、est; string name; /聲明一變量用來存儲從Cookie里取出的信息 if (cookie1 != null) /判斷cookie1是否為空 name = cookie1.ValuesName; ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象刪除Cookie是修改Cookie的一種形式。由于Cookie位于用戶的計算機(jī)中,所以無法直接將其刪除。但可以讓瀏覽器來刪除Cookie。將其有效期設(shè)置為過去的某個日期,就會刪除這個已過期的Cookie。刪除一個Cookie的方式就是利用一個過期的Cookie來代替它,代碼如下: HttpCookie cookie = new
22、HttpCookie(test); cookie.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(cookie);ASP-NET常用對象ppt課件(全) ASP.NET內(nèi)置對象 Application對象Application對象是System.Web命名空間中的HttpApplicationState類的實例。Application對象為經(jīng)常使用的信息提供了一個有用的Web站點(diǎn)存儲位置,Application中的信息可以被網(wǎng)站的所有頁面訪問,因此可以在不同的用戶間共享數(shù)據(jù)。Application的原理是在服務(wù)器端建立一個狀態(tài)變
23、量,來存儲所需的信息。要注意的是,首先,這個狀態(tài)變量是建立在內(nèi)存中的,其次是這個狀態(tài)變量是可以被網(wǎng)站的所有頁面訪問的。ASP-NET常用對象ppt課件(全)ASP.NET內(nèi)置對象Application對象具有的特點(diǎn):數(shù)據(jù)可以在Application對象內(nèi)部共享。一個Application對象包含事件,可以觸發(fā)某些Applicatin對象腳本。個別Application對象可以用Internet Service Manager來設(shè)置而獲得不同屬性。單獨(dú)的Application對象可以隔離出來在它們自己的內(nèi)存中運(yùn)行.可以停止一個Application對象(將其所有組件從內(nèi)存中驅(qū)除)而不會影響到其他應(yīng)用程序。一個網(wǎng)站可以有不止
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 郵政快遞賠償標(biāo)準(zhǔn)調(diào)整補(bǔ)充協(xié)議
- 長期承租設(shè)備協(xié)議書
- 贍養(yǎng)問題調(diào)解協(xié)議書
- 隧道支護(hù)承包協(xié)議書
- 鄰居快遞賠償協(xié)議書
- 車廂買賣合同協(xié)議書
- 酒店雙方諒解協(xié)議書
- 資產(chǎn)收購居間協(xié)議書
- 道路清洗保潔協(xié)議書
- 寫字樓合同解除協(xié)議書
- 會計原始憑證說課公開課一等獎市優(yōu)質(zhì)課賽課獲獎?wù)n件
- 下腔靜脈濾器置入與取出術(shù)
- 伍德密封強(qiáng)度計算
- 重度子癇前期子癇急救演練
- 產(chǎn)婦可以吃蛹蟲草嗎:哺乳期婦女可以吃蛹蟲草嗎
- 《化工原理》課程思政教學(xué)案例(一等獎)
- 國家統(tǒng)一法律職業(yè)資格官方題庫:刑事訴訟法-考試題庫(含答案)
- 【超星爾雅學(xué)習(xí)通】《美術(shù)鑒賞》2020章節(jié)測試題及答案
- 多發(fā)性損傷的急診
- 洛寧華泰礦業(yè)洛寧縣陸院溝金礦(新增儲量)采礦權(quán)出讓收益評估報告摘要
- 新高考統(tǒng)編教材必背古詩文-教材外篇目(廣東省適用)
評論
0/150
提交評論