




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第4章ASP.NET內(nèi)置對象為了提高網(wǎng)絡(luò)程序的開發(fā)效率,ASP.NET提供了一些內(nèi)置對象。
ASP.NET的基本對象是程序設(shè)計中最頻繁使用的元素,它通過向用戶提供基本的請求、響應(yīng)、會話等處理功能實現(xiàn)了ASP.NET的絕大多數(shù)功能。這些對象主要有響應(yīng)對象Request、請求對象Response、通用工具欄對象Server、記錄瀏覽器端的變量對象Session、記錄應(yīng)用程序參數(shù)對象Application、緩存對象Cookie。4.1ASP.NET內(nèi)置對象概述對象名說明ASP.NET類Response提供對當(dāng)前頁的輸出流的訪問。可以使用此類將文本插入頁中、編寫Cookie等HttpResponseRequest提供對當(dāng)前頁請求的訪問,其中包括請求標(biāo)題、Cookie、客戶端證書、查詢字符串等。可以使用此類讀取瀏覽器已經(jīng)發(fā)送的內(nèi)容HttpRequestContext提供對整個當(dāng)前上下文(包括請求對象)的訪問。可以使用此類共享頁之間的信息HttpContextServer公開可以用于在頁之間傳輸控件的實用工具方法,獲取有關(guān)最新錯誤的信息,對HTML文本進行編碼和解碼等HttpServerUtilityApplication提供對所有會話的應(yīng)用程序范圍的方法和事件的訪問。還提供對可用于存儲信息的應(yīng)用程序范圍的緩存的訪問HttpApplicationStateSession為當(dāng)前用戶會話提供信息。還提供對可用于存儲信息的會話范圍的緩存的訪問,以及控制如何管理會話的方法HttpSessionStateTrace提供在HTTP頁輸出中顯示系統(tǒng)和自定義跟蹤診斷消息的方法TraceContext表4.1 ASP.NET內(nèi)置對象說明4.2Response對象4.2.1Response對象概述在ASP.NET中,HTTP響應(yīng)信息一般都封裝在HTTPResponse類中。
Response對象用于將數(shù)據(jù)從服務(wù)器發(fā)送回瀏覽器。它允許將數(shù)據(jù)作為請求的結(jié)果發(fā)送到瀏覽器中,并提供有關(guān)響應(yīng)的信息。它可以用來在頁面中輸入數(shù)據(jù),在頁面中跳轉(zhuǎn),還可以傳遞各個頁面的參數(shù)。它與HTTP協(xié)議的響應(yīng)消息相對應(yīng)。4.2.2Response對象常用屬性、方法1.Response對象的屬性由于Response對象映射到Page對象的Response屬性,因此可以直接把它用在ASP.NET頁面中。屬性說明Cache獲取Web頁的緩存策略(過期時間、保密性、變化子句等)Charset設(shè)定或獲取HTTP的輸出字符編碼Expires獲取或設(shè)置在瀏覽器上緩存的頁過期之前的分鐘數(shù)Cookies獲取當(dāng)前請求的Cookie集合IsClientConnected傳回客戶端是否仍然和服務(wù)器連接SuppressContent設(shè)定是否將HTTP的內(nèi)容發(fā)送至客戶端瀏覽器,若為True,則網(wǎng)頁將不會傳至客戶端表4.2 Response對象常用屬性及說明(1)Expires屬性此屬性主要用于獲取或設(shè)置在瀏覽器上緩存的頁過期之前的分鐘數(shù)。如果用戶在頁面過期之前返回該頁,則顯示緩存版本。語法格式如下:
publicintExpires{get;set;}(2)IsClientConnected屬性獲取一個值,通過該值指示客戶端是否仍連接在服務(wù)器上。語法:
publicboolIsClientConnected{get;}
屬性值:如果客戶端當(dāng)前仍在連接,則為true;否則為false。2.Response對象的方法方法說明AppendToLog將自定義日志信息添加到IIS日志文件Clear將緩沖區(qū)的內(nèi)容清除End將目前緩沖區(qū)中所有的內(nèi)容發(fā)送至客戶端,然后關(guān)閉Flush將緩沖區(qū)中所有的數(shù)據(jù)發(fā)送至客戶端Redirect將網(wǎng)頁重新導(dǎo)向另一個地址Write將數(shù)據(jù)輸出到客戶端WriteFile將指定的文件直接寫入HTTP內(nèi)容輸出流表4.3 Response對象常用方法及說明(1)Redirect方法將網(wǎng)頁重新導(dǎo)向另一個地址,其語法格式如下:
publicvoidRedirect(stringurl)(2)Write方法
Write方法用來將數(shù)據(jù)輸出到客戶端,其常用格式如下:
Response.Write("輸出字符串");圖4.1response.aspx執(zhí)行的結(jié)果(3)WriteFile方法將指定的文件直接寫入HTTP內(nèi)容輸出流,其語法格式如下:
publicvoidWriteFile(stringfilename)圖4.2直接輸出文本文件4.2.3Response對象在實際開發(fā)中的應(yīng)用示例此實例首先調(diào)用Response對象的Write方法在頁面中彈出信息提示框,然后調(diào)用其Redirect方法重新定向到另一個頁面,最后調(diào)用WriteFile方法將指定文件寫入HTTP內(nèi)容輸出流。實例運行結(jié)果如圖4.3所示。圖4.3Response對象實例運行結(jié)果圖4.4Response對象導(dǎo)向頁面
圖4.5將指定文件寫入HTTP流4.3Request對象4.3.1Request對象概述當(dāng)用戶打開Web瀏覽器,并從網(wǎng)站請求Web頁時,Web服務(wù)器就接收一個HTTP請求,此請求包含用戶、用戶的計算機、頁面以及瀏覽器的相關(guān)信息,這些信息將被完整地封裝,并在Request對象中利用它們,以上這些信息都是通過Request對象一次性提供的。
Request對象是HttpRequest類的一個實例,它提供對當(dāng)前頁請求的訪問,其中包括標(biāo)題、Cookie、客戶端證書、查詢字符串等,用戶可以使用此類來讀取瀏覽器已經(jīng)發(fā)送的內(nèi)容。4.3.2Request對象常用屬性、方法1.Request對象的屬性屬性說明ApplicationPath獲取服務(wù)器上ASP.NET應(yīng)用程序虛擬應(yīng)用程序的根目錄路徑Browser獲取或設(shè)置有關(guān)正在請求的客戶端瀏覽器的功能信息ContentLength指定客戶端發(fā)送的內(nèi)容長度(以字節(jié)計)FilePath獲取當(dāng)前請求的虛擬路徑Files獲取采用多部分MIME格式的由客戶端上載的文件集合Form獲取窗體變量集合Item從Cookies、Form、QueryString或ServerVariables集合中獲取指定的對象Params獲取QueryString、Form、ServerVariables和Cookies項的組合集合Path獲取當(dāng)前請求的虛擬路徑表4.4 Request對象常用屬性及說明屬性說明QueryString獲取HTTP查詢字符串變量集合UserHostAddress獲取遠程客戶端IP主機地址PhysicalApplicationPath獲取當(dāng)前正在執(zhí)行的服務(wù)器應(yīng)用程序的根目錄的物理文件系統(tǒng)路徑UserHostName獲取遠程客戶端DNS名稱續(xù)表(1)Browser屬性用于獲取或設(shè)置有關(guān)正在請求的客戶端瀏覽器的信息。語法:
publicHttpBrowserCapabilitiesBrowser{get;set;}圖4.6使用Browser屬性獲得瀏覽器信息(2)QueryString屬性用于獲取HTTP查詢字符串變量的集合。語法:publicNameValueCollectionQueryString{get;}
圖4.7Default.aspx頁面
圖4.8Default2.aspx頁面2.Request對象的方法方法說明MapPath為當(dāng)前請求將請求的URL中的虛擬路徑映射到服務(wù)器上的物理路徑SaveAs將HTTP請求保存到硬盤表4.5 Request對象常用方法及說明(1)MapPath方法(2)SaveAs方法
4.3.3Request對象在實際開發(fā)中的應(yīng)用示例圖4.9Request對象實例圖4.10Request對象頁面?zhèn)髦?.4Application對象
4.4.1Application對象概述有時編程人員希望能存儲一段信息,這段信息能被整個網(wǎng)站的所有頁面使用,這時就需要使用Application對象。
Application對象是HttpApplicationState類的一個實例,它可以生成一個所有Web應(yīng)用程序都可以存取的變量,這個變量的使用范圍涵蓋全部使用者,只要正在使用這個網(wǎng)頁的程序都可以存取這個變量。每個Application對象變量都是Application集合中的對象之一,由Application對象統(tǒng)一管理。使用Application對象的相關(guān)語法如下:
Application["變量"]="變量內(nèi)容";Application("對象名")=Server.CreateObject(Progld)4.4.2Application對象常用集合、屬性、方法和事件1.Application對象的集合集合名說明Contents用于訪問應(yīng)用程序狀態(tài)集合中的對象名StaticObjects確定某對象指定屬性的值或遍歷集合,并檢索所有靜態(tài)對象的屬性表4.6 Application對象的集合及說明2.Application對象的屬性屬性說明AllKeys返回全部Application對象變量名到一個字符串?dāng)?shù)組中Count獲取Application對象變量的數(shù)量Item允許使用索引或Application變量名稱傳回內(nèi)容值表4.7 Application對象常用屬性及說明(1)AllKeys屬性用于返回全部Application對象變量名到一個字符串?dāng)?shù)組中。語法:
publicstring[]AllKeys{get;}圖4.11訪問Application集合中的對象值(2)Count屬性用于獲取Application對象變量的數(shù)量。語法:
publicoverrideintCount{get;}圖4.12使用Count屬性獲取Application對象數(shù)量(3)Item屬性該屬性可重載,它有以下兩種格式:①通過索引獲取單個Application對象。語法:publicObjectthis[intindex]{get;}②通過名稱獲取單個Application對象的值。語法:publicObjectthis[stringname]{get;set;}圖4.13訪問Application集合中的對象值3.Application對象的方法方法說明Add新增一個Application對象變量Clear清除全部Application對象變量Lock鎖定全部Application對象變量Remove使用變量名稱移除一個Application對象變量RemoveAll移除全部Application對象變量Set使用變量名稱更新一個Application對象變量的內(nèi)容UnLock解除鎖定的Application對象變量表4.8 Application對象常用方法及說明(1)Add方法
Add方法將新變量添加到Application集合中。例如,下面的代碼將變量名為mr和mrsoft的應(yīng)用程序變量添加到Application集合中:
Application.Add("mr","mr");Application.Add("mrsoft","mrsoft");(2)Lock方法
Lock方法用來鎖定全部的Application對象變量。例如,統(tǒng)計在線人數(shù)時,就應(yīng)該先對Application對象加鎖,以防止因為多個用戶同時訪問頁面而造成并行,其常用格式如下:
Application.Lock();//鎖定
Application("變量")=表達式;Application.UnLock();//開鎖圖4.14Application的Lock方法(3)Remove方法
Remove方法用來將指定變量從Application集合中移除。例如,下面的代碼為將變量名為mr和mrsoft的應(yīng)用程序變量從Application集合中移除:
Application.Remove("mr");Application.Remove("mrsoft");4.Application對象事件(1)OnStart事件(2)OnEnd事件(3)OnBeginResquest事件(4)OnEndResquest事件圖4.15Application的OnStart事件4.4.3Application對象在實際開發(fā)中的應(yīng)用示例本實例首先通過使用Application對象實現(xiàn)在線人數(shù)統(tǒng)計,然后通過使用Application對象記錄文本框中的內(nèi)容,實現(xiàn)一個簡單的在線聊天室。實例運行結(jié)果如圖4.16所示。圖4.16Application對象實例4.5Session對象4.5.1Session對象概述
Session對象是HttpSessionState類的一個實例,其功能和Application對象類似,都是用來存儲跨網(wǎng)頁程序的變量或者對象,但Session對象和Application對象有些特性存在著差異。
Session對象只針對單一網(wǎng)頁使用者,也就是說,各個連接的機器都有各自的Session對象,不同的客戶端無法互相存取。
Application對象終止于停止IIS服務(wù)時,而Session對象終止于聯(lián)機機器離線時,也就是當(dāng)網(wǎng)頁使用者關(guān)掉瀏覽器或超過設(shè)定Session變量的有效時間時,Session對象就會消失。
Session對象和Application對象一樣都是Page對象的成員,因此可直接在網(wǎng)頁中使用。使用Session對象存放信息的語法如下:
Session["變量名"]="內(nèi)容";
從會話中讀取信息的語法如下:
VariablesName=Session["變量名"];4.5.2Session對象常用集合、屬性和方法1.Session對象的集合集合名說明Contents用于確定指定會話項的值或遍歷Session對象的集合StaticObjects確定某對象指定屬性的值或遍歷集合,并檢索所有靜態(tài)對象的所有屬性表4.10 Session對象的集合及說明2.Session對象的屬性屬性說明Contents獲取對當(dāng)前會話狀態(tài)對象的引用Item獲取或設(shè)置會話值TimeOut傳回或設(shè)定Session對象變量的有效時間,當(dāng)使用者超過有效時間沒有動作,Session對象就會失效。默認值為20min表4.11 Session對象常用屬性及說明(1)Contents屬性獲取對當(dāng)前會話狀態(tài)對象的引用。語法:publicHttpSessionStateContents{get;}(2)Item屬性獲取或設(shè)置會話值。該屬性可重載,它有以下兩種格式:①按數(shù)字索引獲取或設(shè)置會話值。語法:publicObjectthis[intindex]{get;set;}②按名稱獲取或設(shè)置會話值。語法:publicObjectthis[stringname]{get;set;}(3)TimeOut屬性獲取并設(shè)置在會話狀態(tài)提供程序終止會話之前各請求之間所允許的時間(以分鐘為單位)。語法:
publicintTimeout{get;set;}圖4.17Session的TimeOut設(shè)置3.Session對象的方法方法說明Abandon此方法結(jié)束當(dāng)前會話,并清除會話中的所有信息。如果用戶隨后訪問頁面,可以為它創(chuàng)建新會話(重新建立非常有用,這樣用戶就可以得到新的會話)Add用于向Session對象集合中添加一個新項CopyTo將會話狀態(tài)值的集合復(fù)制到一維數(shù)組中(從數(shù)組的指定索引處開始)Clear此方法清除全部的Session對象變量,但不結(jié)束會話表4.12 Session對象常用方法及說明(1)Abandon方法用于取消當(dāng)前會話。語法:
publicvoidAbandon()(2)Clear方法
Clear方法用來清除全部Session對象變量。語法:
publicvoidClear()(3)Add方法用于向Session對象集合中添加一個新項。語法:
publicvoidAdd(stringname,Objectvalue)(4)CopyTo方法將會話狀態(tài)值的集合復(fù)制到一維數(shù)組中(從數(shù)組的指定索引處開始)。語法:
publicvoidCopyTo(Arrayarray,intindex)圖4.18CopyTo方法的使用4.5.3Session對象在實際開發(fā)中的應(yīng)用示例
圖4.19Session對象實例
圖4.20Default2.aspx頁面4.6Server對象4.6.1Server對象概述
Server對象是HttpServerUtility類的一個實例,它定義了一個與Web服務(wù)器相關(guān)的類提供對服務(wù)器上的方法和屬性的訪問。4.6.2Server對象常用屬性、方法1.Server對象的屬性屬性說明MachineName獲取服務(wù)器的計算機名稱ScriptTimeout獲取和設(shè)置請求超時值(以秒計)表4.13 Server對象常用屬性及說明(1)MachineName屬性獲取服務(wù)器的計算機名稱。語法:
publicstringMachineName{get;}(2)ScriptTimeout屬性獲取和設(shè)置請求超時值(以秒計)。語法:
publicintScriptTimeout{get;set;}圖4.21使用MachineName屬性獲取服務(wù)器名稱2.Server對象的方法方法說明HtmlDecode對已被編碼以消除無效HTML字符的字符串進行解碼HtmlEncode對要在瀏覽器中顯示的字符串進行編碼MapPath返回與Web服務(wù)器上的指定虛擬路徑相對應(yīng)的物理文件路徑UrlDecode對字符串進行解碼,該字符串為了進行HTTP傳輸而進行編碼并在URL中發(fā)送到服務(wù)器UrlEncode編碼字符串,以便通過URL從Web服務(wù)器到客戶端進行可靠的HTTP傳輸表4.14 Server對象常用方法及說明(1)MapPath方法
MapPath方法用來返回與Web服務(wù)器上的指定虛擬路徑相對應(yīng)的物理文件路徑,其常用格式如下:
Server.MapPath("path");圖4.22MapPath方法的應(yīng)用(2)HtmlDecode方法
HtmlEncode方法用來對字符串進行HTML編碼并返回已編碼的字符串。語法:
publicstringHtmlDecode(strings)(3)HtmlEncode方法用于
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年法學(xué)院研究生入學(xué)考試試題及答案
- 學(xué)生安全責(zé)任規(guī)定
- 新聞傳媒產(chǎn)業(yè)趨勢研究練習(xí)題集
- 2025年炸藥、煙火及火工產(chǎn)品項目申請報告
- 食品配送與包裝技術(shù)研發(fā)合作協(xié)議
- 2025年鉗型表項目申請報告
- 企業(yè)人才中介服務(wù)協(xié)議
- 2025年單證員職業(yè)資格考試試卷單證員職業(yè)發(fā)展前景分析
- 2025年磁粉離合器項目提案報告
- 2025年武漢市事業(yè)單位招聘考試綜合類專業(yè)能力測試試卷(財務(wù)類)
- 幼兒園食堂舉一反三自查報告
- 患者發(fā)生窒息的應(yīng)急
- 《環(huán)氧樹脂生產(chǎn)工藝》課件
- 冶金員工安全培訓(xùn)
- 合理雅思學(xué)習(xí)計劃
- 腹股溝疝護理新進展
- 機修工2025年上半年工作總結(jié)范文
- 食品標(biāo)準(zhǔn)操作規(guī)程
- 《人民法院》課件
- 青海大學(xué)《普通化學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 診斷學(xué)題庫(附答案)
評論
0/150
提交評論