|
ASP.NET的內(nèi)置對(duì)象介紹
1.Response
2.Request
3.Server
4.Application
5.Session
6.Cookie
Request對(duì)象主要是讓服務(wù)器取得客戶端瀏覽器的一些數(shù)據(jù),包括從HTML表單用Post或者GET方法傳遞的參數(shù)、Cookie和用戶認(rèn)證。因?yàn)镽equest對(duì)象是Page對(duì)象的成員之一,所以在程序中不需要做任何的聲明即可直接使用;其類名為 HttpRequest屬性很多,但方法很少,只有一個(gè)BinaryRead()
1.使用Request.Form屬性獲取數(shù)據(jù)
通過(guò)該屬性,讀取之間的表單數(shù)據(jù).注意:提交方式要設(shè)置為“Post”。與Get方法相比較,使用Post方法可以將大量數(shù)據(jù)發(fā)送到服務(wù)器端
2.利用Request.QueryString屬性獲取數(shù)據(jù)
Request對(duì)象的QuerySting屬性可以獲取 HTTP 查詢字符串變量集合 。 通過(guò)該屬性,我們可以讀取地址信息 http://localhost/aaa.ASPx?uid=tom&pwd=abc其中標(biāo)識(shí)為紅色部分的數(shù)據(jù).注意:提交方式要設(shè)置為“Get”
3.問(wèn)題:Request.Form用于表單提交方式為Post的情況,而Request.QueryString用于表單提交方式為Get的情況,如果用錯(cuò),則獲取不到數(shù)據(jù)。解決方法:利用Request(“元素名”)來(lái)簡(jiǎn)化操作。
4.Request.ServerVariables("環(huán)境變量名稱")
類似的還有:UserHostAddress,Browser,Cookies,ContentType,IsAuthenticatedItem,ParamsResponse 對(duì)象用語(yǔ)輸出數(shù)據(jù)到客戶端,包括向?yàn)g覽器輸出數(shù)據(jù)、重定向?yàn)g覽器到另一個(gè)URL或向?yàn)g覽器輸出Cookie文件。其類名為httpResponse屬性和方法。
Write() 向客戶端發(fā)送字符串信息
BufferOutPut屬性 是否使用緩存
Clear() 清除緩存
Flush() 強(qiáng)制輸出緩存的所有數(shù)據(jù)
Redirect() 網(wǎng)頁(yè)轉(zhuǎn)向地址
End() 終止當(dāng)前頁(yè)的運(yùn)行
WriteFile() 讀取一個(gè)文件,并且寫(xiě)入客戶端輸出流 (實(shí)質(zhì):打開(kāi)文件,并且輸出到客戶端。)
1.Response.Write 變量數(shù)據(jù)或字符串
Response.Write (變量數(shù)據(jù)或字符串)
<%=…%>Response.Write("alert('歡迎學(xué)習(xí)ASP.NET')")
Response.Write(" ")
2.Response對(duì)象的Redirect方法將客戶端瀏覽器重定向到另外的URL上,即跳轉(zhuǎn)到另一個(gè)網(wǎng)頁(yè)。例如:Response.Redirect("http://www.example.com/")
3. Response.End() 終止當(dāng)前頁(yè)的運(yùn)行
4.Response.WriteFile(FileName)其中:FileName 指代需向?yàn)g覽器輸出的文件的文件名
Server對(duì)象提供對(duì)服務(wù)器上的方法和屬性進(jìn)行的訪問(wèn) .其類名稱是HttpServerUtility.
Server對(duì)象的主要屬性有:
MachineName:獲取服務(wù)器的計(jì)算機(jī)名稱。
ScriptTimeout:獲取和設(shè)置請(qǐng)求超時(shí)(以秒計(jì))。
方法名稱 說(shuō)明
CreateObject 創(chuàng)建 COM 對(duì)象的一個(gè)服務(wù)器實(shí)例。
Execute 執(zhí)行當(dāng)前服務(wù)器上的另一個(gè)ASPx頁(yè),執(zhí)行完該頁(yè)后再返回本頁(yè)繼續(xù)執(zhí)行
HtmlEncode 對(duì)要在瀏覽器中顯示的字符串進(jìn)行HTML編碼并返回已編碼的字符串。
HtmlDecode 對(duì)HTML編碼的字符串進(jìn)行解碼,并返回已解碼的字符串。
MapPath 返回與 Web 服務(wù)器上的指定虛擬路徑相對(duì)應(yīng)的物理文件路徑。
Transfer 終止當(dāng)前頁(yè)的執(zhí)行,并為當(dāng)前請(qǐng)求開(kāi)始執(zhí)行新頁(yè)。
UrlEncode 將代表URL的字符串進(jìn)行編碼,以便通過(guò) URL 從 Web 服務(wù)器到客戶端進(jìn)行可靠的 HTTP 傳輸。
UrlDecode 對(duì)已被編碼的URL字符串進(jìn)行解碼,并返回已解碼的字符串。
UrlPathEncode 對(duì) URL 字符串的路徑部分進(jìn)行 URL 編碼,并返回已編碼的字符串。
編碼:Server.HtmlEncode(“HTML代碼”)
解碼:Server.HtmlDecode(“已編碼的HTML”)
1.Server對(duì)象的MapPath方法將虛擬路徑或相對(duì)于當(dāng)前頁(yè)的相對(duì)路徑轉(zhuǎn)化為Web 服務(wù)器上的物理文件路徑。 語(yǔ)法:
Server.MapPath(“虛擬路徑”)Application對(duì)象在實(shí)際網(wǎng)絡(luò)開(kāi)發(fā)中的用途就是記錄整個(gè)網(wǎng)絡(luò)的信息,如上線人數(shù)、在線名單、意見(jiàn)調(diào)查和網(wǎng)上選舉等。在給定的應(yīng)用程序的多有用戶之間共享信息,并在服務(wù)器運(yùn)行期間持久的保存數(shù)據(jù)。而且Application對(duì)象還有控制訪問(wèn)應(yīng)用層數(shù)據(jù)的方法和可用于在應(yīng)用程序啟動(dòng)和停止時(shí)觸發(fā)過(guò)程的事件。
String FilePath
FilePath = Server.MapPath(“/”)
Response.Write(FilePath)
1.使用Application對(duì)象保存信息Application(“鍵名”) = 值或Application(“鍵名”,值)獲取Application對(duì)象信息變量名 = Application(“鍵名”)或:變量名 = Application.Item(“鍵名”)或:變量名 = Application.Get(“鍵名”)更新Application對(duì)象的值
Application.Set(“鍵名”, 值)
刪除一個(gè)鍵
Application.Remove(“鍵名”, 值)
刪除所有鍵
Application.RemoveAll()或Application.Clear()
2.有可能存在多個(gè)用戶同時(shí)存取同一個(gè)Application對(duì)象的情況。這樣就有可能出現(xiàn)多個(gè)用戶修改同一個(gè)Application命名對(duì)象,造成數(shù)據(jù)不一致的問(wèn)題。HttpApplicationState 類提供兩種方法 Lock 和 Unlock,以解決對(duì)Application對(duì)象的訪問(wèn)同步問(wèn)題,一次只允許一個(gè)線程訪問(wèn)應(yīng)用程序狀態(tài)變量。
關(guān)于鎖定與解鎖
鎖定:Application.Lock()
訪問(wèn):Application(“鍵名”) = 值
解鎖:Application.Unlock()
注意:Lock方法和UnLock方法應(yīng)該成對(duì)使用。 可用于網(wǎng)站訪問(wèn)人數(shù),聊天室等設(shè)備。
3. 使用Application事件
在ASP.NET 應(yīng)用程序中可以包含一個(gè)特殊的可選文件——Global.asax 文件,也稱作ASP.NET 應(yīng)用程序文件,它包含用于響應(yīng) ASP.NET或HTTP模塊引發(fā)的應(yīng)用程序級(jí)別事件的代碼。Global.asax 文件提供了7個(gè)事件,其中5個(gè)應(yīng)用于Application對(duì)象
事件名稱 說(shuō)明
Application_Start 在應(yīng)用程序啟動(dòng)時(shí)激發(fā)
Application_BeginRequest 在每個(gè)請(qǐng)求開(kāi)始時(shí)激發(fā)
Application_AuthenticateRequest 嘗試對(duì)使用者進(jìn)行身份驗(yàn)證時(shí)激發(fā)
Application_Error 在發(fā)生錯(cuò)誤時(shí)激發(fā)
Application_End 在應(yīng)用程序結(jié)束時(shí)激發(fā)
Session即會(huì)話,是指一個(gè)用戶在一段時(shí)間內(nèi)對(duì)某一個(gè)站點(diǎn)的一次訪問(wèn)。
Session對(duì)象在.NET中對(duì)應(yīng)HttpSessionState類,表示“會(huì)話狀態(tài)”,可以保存與當(dāng)前用戶會(huì)話相關(guān)的信息。
Session對(duì)象用于存儲(chǔ)從一個(gè)用戶開(kāi)始訪問(wèn)某個(gè)特定的ASPx的頁(yè)面起,到用戶離開(kāi)為止,特定的用戶會(huì)話所需要的信息。用戶在應(yīng)用程序的頁(yè)面切換時(shí),Session對(duì)象的變量不會(huì)被清除。對(duì)于一個(gè)Web應(yīng)用程序而言,所有用戶訪問(wèn)到的Application對(duì)象的內(nèi)容是完全一樣的;而不同用戶會(huì)話訪問(wèn)到的Session對(duì)象的內(nèi)容則各不相同。Session可以保存變量,該變量只能供一個(gè)用戶使用,也就是說(shuō),每一個(gè)網(wǎng)頁(yè)瀏覽者都有自己的Session對(duì)象變量,即Session對(duì)象具有唯一性。
(1)將新的項(xiàng)添加到會(huì)話狀態(tài)中
語(yǔ)法格式為:
Session ("鍵名") = 值
或者
Session.Add( "鍵名" , 值)
(2)按名稱獲取會(huì)話狀態(tài)中的值
語(yǔ)法格式為:
變量 = Session ("鍵名")
或者
變量 = Session.Item("鍵名")
(3)刪除會(huì)話狀態(tài)集合中的項(xiàng)
語(yǔ)法格式為:Session.Remove("鍵名")
(4)清除會(huì)話狀態(tài)中的所有值
語(yǔ)法格式為:Session.RemoveAll()
或者Session.Clear()
(5)取消當(dāng)前會(huì)話
語(yǔ)法格式為:Session.Abandon()
(6)設(shè)置會(huì)話狀態(tài)的超時(shí)期限,以分鐘為單位。
語(yǔ)法格式為:Session.TimeOut = 數(shù)值
Global.asax 文件中有2個(gè)事件應(yīng)用于Session對(duì)象
事件名稱 說(shuō)明
Session_Start 在會(huì)話啟動(dòng)時(shí)激發(fā)
Session_End 在會(huì)話結(jié)束時(shí)激發(fā)
Cookie就是Web服務(wù)器保存在用戶硬盤(pán)上的一段文本。Cookie允許一個(gè)Web站點(diǎn)在用戶的電腦上保存信息并且隨后再取回它。信息的片斷以‘鍵/值’對(duì)的形式存儲(chǔ)。
Cookie是保存在客戶機(jī)硬盤(pán)上的一個(gè)文本文件,可以存儲(chǔ)有關(guān)特定客戶端、會(huì)話或應(yīng)用程序的信息,在.NET中對(duì)應(yīng)HttpCookie類。有兩種類型的Cookie:會(huì)話Cookie(Session Cookie)和持久性Cookie。前者是臨時(shí)性的,一旦會(huì)話狀態(tài)結(jié)束它將不復(fù)存在;后者則具有確定的過(guò)期日期,在過(guò)期之前Cookie在用戶的計(jì)算機(jī)上以文本文件的形式存儲(chǔ)。在服務(wù)器上創(chuàng)建并向客戶端輸出Cookie可以利用Response對(duì)象實(shí)現(xiàn)。
Response對(duì)象支持一個(gè)名為Cookies的集合,可以將Cookie對(duì)象添加到該集合中,從而向客戶端輸出Cookie。 通過(guò)Request對(duì)象的Cookies集合來(lái)訪問(wèn)Cookie
NET技術(shù):詳解ASP.NET的內(nèi)置對(duì)象,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。