




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章ASP.NET的常用內(nèi)置對(duì)象使用Response和Request響應(yīng)用戶請(qǐng)求。使用環(huán)境變量獲取環(huán)境信息。定義、創(chuàng)建和使用Application對(duì)象。用Session對(duì)象來記錄用戶信息。使用Server對(duì)象。了解Cookie的基礎(chǔ)知識(shí),設(shè)置和檢索Cookie。第四章ASP.NET的常用內(nèi)置對(duì)象使用Response和ReResponse對(duì)象輸出字符串到網(wǎng)頁上重定向緩存HTML輸出文本文件的內(nèi)容Response對(duì)象輸出字符串到網(wǎng)頁上Response對(duì)象Response對(duì)象是ASP.NET用于控制如何將響應(yīng)發(fā)送給用戶的內(nèi)置對(duì)象。它提供了豐富的方法和屬性用于控制響應(yīng)的輸出方式。Response對(duì)象Response對(duì)象是ASP.NET用輸出字符串到網(wǎng)頁上將一個(gè)字符串輸出到網(wǎng)頁上是Response對(duì)象的一個(gè)最常用的功能,使用它的Write方法就可以實(shí)現(xiàn)。輸出字符串到網(wǎng)頁上將一個(gè)字符串輸出到網(wǎng)頁上是Respons例子例子重定向在網(wǎng)站的設(shè)計(jì)過程中,通常會(huì)遇到需要把用戶帶到一個(gè)新頁面中。這時(shí)可以使用Response的Redirect方法。在這種方法中要給出需要重定向的頁面的相對(duì)路徑或URL。重定向在網(wǎng)站的設(shè)計(jì)過程中,通常會(huì)遇到需要把用戶帶到一個(gè)新頁例子例子緩存HTML
Response對(duì)象有一個(gè)屬性是Buffer,這個(gè)屬性的值用來確定數(shù)據(jù)發(fā)送給客戶之前是否要緩沖。它的默認(rèn)值是True,表示確定數(shù)據(jù)發(fā)送給客戶之前需要緩沖,也就是說把需要發(fā)送給客戶的信息先放置到一個(gè)預(yù)先設(shè)定的緩沖區(qū)中,然后再一次性地發(fā)送給客戶;如果把這個(gè)值設(shè)置為False,那么所有的信息都會(huì)在產(chǎn)生的時(shí)候立即發(fā)送給客戶。從速度上說,這種不使用緩沖的方法會(huì)比使用緩沖的方法要慢得多。緩存HTMLResponse對(duì)象有一個(gè)屬性是Buffer,例子例子輸出文本文件的內(nèi)容Response對(duì)象的WriteFile方法可以實(shí)現(xiàn)將文本文件的內(nèi)容值接像屏幕輸出。這種方法與Wirte方法一樣都可以向客戶輸出數(shù)據(jù),惟一的不同在于Write方法是輸出它所帶參數(shù)中保存的字符串,而WriteFile方法所帶的參數(shù)則是代表一個(gè)文本文件的名字,可以把這個(gè)文件中的文本當(dāng)作數(shù)據(jù)輸出給客戶。輸出文本文件的內(nèi)容Response對(duì)象的WriteFile例子例子Request對(duì)象get方法post方法使用環(huán)境變量Request對(duì)象get方法Request對(duì)象Request對(duì)象是ASP.NET中用于提取瀏覽器中用戶輸入信息的內(nèi)置對(duì)象。在使用這個(gè)內(nèi)部對(duì)象時(shí),用戶的信息可以通過表單來提交,也可以通過直接用URL的參數(shù)來獲取,還可以通過環(huán)境變量來提供。Request對(duì)象Request對(duì)象是ASP.NET中用于get方法使用get方法進(jìn)行數(shù)據(jù)提交是把用戶要提交的信息作為查詢字符串加在URL的后面?zhèn)鹘o接收程序。URL是指UniformResourceLocators(統(tǒng)一資源定位器),它的通常形式是類似http:/filename.ext形式的字符串。而查詢字符串則是加在URL的后面,與前面的URL一起提交給服務(wù)器的字符串。get方法使用get方法進(jìn)行數(shù)據(jù)提交是把用戶要提交的信息作例子例子post方法使用post方法可以用Request對(duì)象的Form集合屬性來得到用戶提交的數(shù)據(jù)。這時(shí),用戶瀏覽器的地址欄中不會(huì)顯示相關(guān)的查詢字符串。因此如果需要提交的數(shù)據(jù)很多時(shí),應(yīng)該使用post方法,因?yàn)樗鼘?duì)數(shù)據(jù)的大小和長(zhǎng)度沒有什么限制。如果使用Web表單而不是HTML表單的話,那么也只能夠使用post方法來獲取數(shù)據(jù),因?yàn)檫@是Web表單默認(rèn)使用的方法,無需在定義表單的時(shí)候說明。post方法使用post方法可以用Request對(duì)象的Fo例子例子環(huán)境變量每次從客戶的瀏覽器向服務(wù)器發(fā)送請(qǐng)求時(shí),程序都可以搜集很多關(guān)于用戶的信息。比如主機(jī)名、IP地址、瀏覽器類型和操作系統(tǒng)等。這些信息被稱為服務(wù)器環(huán)境變量,可以通過Request對(duì)象的ServerVariables集合來進(jìn)行使用環(huán)境變量每次從客戶的瀏覽器向服務(wù)器發(fā)送請(qǐng)求時(shí),程序都可以搜ALL_HTTP
在沒有解析成為其他環(huán)境變量值前的所有HTTP
ALL_HTTP在沒有解析成為其他環(huán)境變量值前的所有HTT例子例子PATH_INFO
PATH_INFO可以獲得一個(gè)程序所在文件的URL的值,使用這個(gè)變量通??梢允钩绦蚋屿`活。PATH_INFOPATH_INFO可以獲得一個(gè)程序所在文例子例子REMOTE_ADDR
通過REMOTE_ADDR可以得到客戶或代理服務(wù)器的IP地址REMOTE_ADDR通過REMOTE_ADDR可以得到客例子例子獲取用戶的瀏覽器的信息要獲取用戶的瀏覽器的信息,最簡(jiǎn)單的方法就是使用Request對(duì)象的Browser屬性。這個(gè)屬性本身也是一個(gè)對(duì)象,它的常用屬性有兩個(gè):(1)Browser:表示瀏覽器的名稱(2)MajorVersion:表示瀏覽器的版本的整數(shù)位(3)Version:表示瀏覽器的完整版本號(hào)獲取用戶的瀏覽器的信息要獲取用戶的瀏覽器的信息,最簡(jiǎn)單的方例子例子Application對(duì)象如何使用Application對(duì)象Contents集合和StaticObjects集合Lock和UnLock方法的使用Application事件Application對(duì)象如何使用Application對(duì)Application對(duì)象在ASP.NET中,Application是ASP.NET的一個(gè)特殊的內(nèi)置對(duì)象,它代表一個(gè)目錄以及它所有子目錄中的所有ASP.NET文件,方便了文件之間的數(shù)據(jù)共享。由于它是一個(gè)內(nèi)置對(duì)象,所以使用它的時(shí)候與使用Response對(duì)象和Request對(duì)象類似,不需要進(jìn)行任何對(duì)象的實(shí)例化,就可以直接使用。Application對(duì)象在ASP.NET中,Applic如何使用Application對(duì)象從Web站點(diǎn)的主目錄開始,每個(gè)目錄和子目錄都可以作為一個(gè)Application。只要在一個(gè)目錄中沒有找到其他的Application,那么這個(gè)目錄中的每一個(gè)文件和子目錄都是這個(gè)Application的一部分。如何使用Application對(duì)象從Web站點(diǎn)的主目錄開始配置Application使用IIS配置Application配置Application使用IIS配置Applicatio例子例子Contents集合Application對(duì)象的Contents屬性是一個(gè)集合,它包含了這個(gè)對(duì)象中所有的不是用<OBJECT>定義的非對(duì)象項(xiàng)目信息。使用Contents集合可以得到這個(gè)項(xiàng)目的值,方法如下:Response.Write(Application.Contents["greeting"]);
Contents集合Application對(duì)象的Conten例子例子StaticObjects集合那些用<OBJECT>定義的對(duì)象可以用StaticObjects集合來訪問StaticObjects集合那些用<OBJECT>定義的Lock和UnLock方法的使用由于Web程序是一個(gè)多用戶的程序,那么對(duì)于一些存在計(jì)算功能的程序就可能因?yàn)榇嬖诙鄠€(gè)用戶而產(chǎn)生計(jì)算錯(cuò)誤問題。Application恰恰又是一個(gè)存儲(chǔ)著共享信息的對(duì)象,當(dāng)有多個(gè)用戶同時(shí)希望改變Application對(duì)象中某個(gè)項(xiàng)目的內(nèi)容的時(shí)候,就有可能出現(xiàn)數(shù)據(jù)不一致的問題。為了防止這個(gè)問題的發(fā)生,Application對(duì)象提供了兩種方法:Lock和UnLock。當(dāng)希望修改某個(gè)項(xiàng)目的內(nèi)容時(shí),先用Lock方法將Application對(duì)象鎖住,限制其他的用戶修改Application中的項(xiàng)目的值,然后再對(duì)項(xiàng)目的值進(jìn)行修改。修改完成后,使用UnLock方法把鎖打開。Lock和UnLock方法的使用由于Web程序是一個(gè)多用戶例子例子Application事件Application有兩個(gè)事件:OnStart和OnEnd。OnStart是當(dāng)?shù)谝粋€(gè)客戶請(qǐng)求ASP.NET文件的時(shí)候,由ASP.NET調(diào)用執(zhí)行;OnEnd事件則是在服務(wù)器關(guān)閉的時(shí)候,由ASP.NET調(diào)用執(zhí)行,通常是把所有需要永久保存的信息寫入到磁盤中,以便在服務(wù)器重新啟動(dòng)并被訪問的時(shí)候重新加載。將在第9章講解這兩個(gè)事件的使用方法。Application事件Application有兩個(gè)事件Session對(duì)象Session對(duì)象的屬性Session對(duì)象的方法Session對(duì)象的事件使用Session對(duì)象的注意事項(xiàng)Session對(duì)象Session對(duì)象的屬性Session對(duì)象ASP.NET提供了內(nèi)置對(duì)象Session負(fù)責(zé)存儲(chǔ)、讀取和改變一個(gè)特定用戶的會(huì)話信息。早期版本ASP的Session對(duì)象是依賴Cookie進(jìn)行個(gè)人身份的甄別的。而在ASP.NET中,則可以選擇把SessionID存儲(chǔ)在每一個(gè)鏈接的URL中。這樣,如果用戶的瀏覽器不支持Cookie,那么也可以使用Session。當(dāng)然,ASP.NET仍然保留了使用Cookie來保存SessionID的方法。Session對(duì)象ASP.NET提供了內(nèi)置對(duì)象Sessio例子例子Session對(duì)象的屬性Session對(duì)象的常用屬性有:SessionID、TimeOut、LCID、Contents集合和StaticObjects集合。SessionID表示一個(gè)會(huì)話的存在,可以區(qū)分不同的Session。TimeOut屬性表示在一個(gè)會(huì)話結(jié)束之前會(huì)等待用戶沒有任何活動(dòng)的最大時(shí)間,單位是分鐘。LCID是表示不同的地區(qū)的一個(gè)內(nèi)部標(biāo)識(shí)。Contents集合和StaticObjects集合的使用與Application對(duì)象的Contents集合和StaticObjects集合的使用方法一樣Session對(duì)象的屬性Session對(duì)象的常用屬性有:SSession對(duì)象的方法Session對(duì)象只有一個(gè)方法:Abandon,調(diào)用這種方法可以立即銷毀Session對(duì)象并立即釋放Session對(duì)象占用的資源。當(dāng)Session對(duì)象所記錄的內(nèi)容不再有用的時(shí)候,就可以使用這種方法將Session對(duì)象銷毀。Session對(duì)象的方法Session對(duì)象只有一個(gè)方法:ASession對(duì)象的事件OnStart事件在客戶第一次從應(yīng)用程序中請(qǐng)求ASP.NET頁的時(shí)候由ASP.NET調(diào)用,OnEnd事件在會(huì)話關(guān)閉的時(shí)候調(diào)用。當(dāng)會(huì)話超時(shí)或調(diào)用Session的Abandon方法的時(shí)候也會(huì)發(fā)生這個(gè)事件。在第9章中講解Session對(duì)象的事件OnStart事件在客戶第一次從應(yīng)Server對(duì)象Server對(duì)象的屬性Server對(duì)象的方法Server對(duì)象Server對(duì)象的屬性Server對(duì)象Server對(duì)象的屬性反映了Web服務(wù)器的各種信息,它提供了服務(wù)器可以提供的各種服務(wù)。這個(gè)對(duì)象與Application對(duì)象和Session對(duì)象不同,它不負(fù)責(zé)為用戶存儲(chǔ)什么信息,也沒有什么事件Server對(duì)象Server對(duì)象的屬性反映了Web服務(wù)器的Server對(duì)象的屬性Server對(duì)象的MachineName屬性用于存儲(chǔ)主機(jī)機(jī)器名。Server對(duì)象的另一個(gè)屬性是ScriptTimeout屬性,這個(gè)屬性說明了在頁面超時(shí)之前可以運(yùn)行多長(zhǎng)時(shí)間。這個(gè)值的單位是以秒為單位的,默認(rèn)值是90秒。程序員可以通過設(shè)置這個(gè)值來改變默認(rèn)值。Server對(duì)象的屬性Server對(duì)象的MachineNaServer對(duì)象的方法CreateObject方法用于在ASP.NET中創(chuàng)建所有的對(duì)象。Execute方法用于把控制傳遞給其他的子例程或存儲(chǔ)過程GetLastError方法的作用是檢索最近一次發(fā)生的ASP.NET錯(cuò)誤。HTMLEncode方法是一種重要的在網(wǎng)頁上顯示文本的方法。MapPath方法可以把一個(gè)實(shí)際的文件轉(zhuǎn)化成為它的目錄路徑。Transfer方法也是可以把控制傳遞出去URLEncode方法與HTMLEncode方法類似,只不過它可以把URL中的所有特殊字符轉(zhuǎn)化成為非功能的等價(jià)內(nèi)容。Server對(duì)象的方法CreateObject方法用于在ACookie
什么是Cookie設(shè)置Cookie檢索Cookie
檢測(cè)用戶是否使用了Cookie
Cookie什么是Cookie什么是Cookie
在Web程序設(shè)計(jì)中,它表示一個(gè)長(zhǎng)度不超過4K的一個(gè)普通的文本文件。這個(gè)文件在用戶的硬盤上,可以由Web瀏覽器進(jìn)行訪問。什么是Cookie在Web程序設(shè)計(jì)中,它表示一個(gè)長(zhǎng)度不超過Cookie基礎(chǔ)知識(shí)Cookie有兩種形式:會(huì)話Cookie和永久Cookie。會(huì)話Cookie就是在前一節(jié)中講解Session對(duì)象時(shí)提到的用于保存用戶SessionID的Cookie。這個(gè)Cookie是臨時(shí)性的,保存在用戶的內(nèi)存中而不是硬盤上,只在瀏覽器打開的時(shí)候才存在,一旦會(huì)話結(jié)束或會(huì)話超時(shí),這個(gè)Cookie就被刪除。永久Cookie則是永久性地存儲(chǔ)在客戶的硬盤上,并且在指定的過期日期之前一直可以使用。Cookie基礎(chǔ)知識(shí)Cookie有兩種形式:會(huì)話CookiSession和Cookie的比較根據(jù)要存儲(chǔ)數(shù)據(jù)的重要性進(jìn)行選擇。根據(jù)要存儲(chǔ)的數(shù)據(jù)量的大小進(jìn)行選擇Session和Cookie的比較根據(jù)要存儲(chǔ)數(shù)據(jù)的重要性進(jìn)設(shè)置Cookie
在ASP.NET中采用的是面向?qū)ο蟮姆椒▉韯?chuàng)建Cookie,所有的Cookie都是由HttpCookie類創(chuàng)建的。當(dāng)在HttpCookie類上創(chuàng)建了一個(gè)實(shí)例,那么就創(chuàng)建了一個(gè)Cookie。把需要在Cookie中保存的信息準(zhǔn)備好之后,再用Response對(duì)象的AppendCookie方法把這個(gè)Cookie寫到客戶端的硬盤上。設(shè)置Cookie在ASP.NET中采用的是面向?qū)ο蟮姆椒▉砝永觿?chuàng)建永久性Cookie
為了能夠長(zhǎng)期地保存Cookie信息,需要設(shè)置Cookie的過期日期,這樣才能讓Cookie成為永久性Cookie。創(chuàng)建永久性Cookie為了能夠長(zhǎng)期地保存Cookie信息,例子例子使用Cookie字典一個(gè)Cookie中可以保存多個(gè)信息,這就是Cookie字典。使用Cookie字典一個(gè)Cookie中可以保存多個(gè)信息,這例子例子檢索Cookie
讀Cookie的內(nèi)容(即檢索Cookie)則要用Request對(duì)象檢索Cookie讀Cookie的內(nèi)容(即檢索Cookie)例子例子檢測(cè)用戶是否使用了Cookie
檢測(cè)用戶是否使用了Cookie
使用通用方法進(jìn)行檢查為了能夠檢查到是否啟用了Cookie,最直接的方法就是在客戶端保存一個(gè)Cookie,然后立即訪問這個(gè)Cookie。檢測(cè)用戶是否使用了Cookie檢測(cè)用戶是否使用了Cooki第四章ASP.NET的常用內(nèi)置對(duì)象使用Response和Request響應(yīng)用戶請(qǐng)求。使用環(huán)境變量獲取環(huán)境信息。定義、創(chuàng)建和使用Application對(duì)象。用Session對(duì)象來記錄用戶信息。使用Server對(duì)象。了解Cookie的基礎(chǔ)知識(shí),設(shè)置和檢索Cookie。第四章ASP.NET的常用內(nèi)置對(duì)象使用Response和ReResponse對(duì)象輸出字符串到網(wǎng)頁上重定向緩存HTML輸出文本文件的內(nèi)容Response對(duì)象輸出字符串到網(wǎng)頁上Response對(duì)象Response對(duì)象是ASP.NET用于控制如何將響應(yīng)發(fā)送給用戶的內(nèi)置對(duì)象。它提供了豐富的方法和屬性用于控制響應(yīng)的輸出方式。Response對(duì)象Response對(duì)象是ASP.NET用輸出字符串到網(wǎng)頁上將一個(gè)字符串輸出到網(wǎng)頁上是Response對(duì)象的一個(gè)最常用的功能,使用它的Write方法就可以實(shí)現(xiàn)。輸出字符串到網(wǎng)頁上將一個(gè)字符串輸出到網(wǎng)頁上是Respons例子例子重定向在網(wǎng)站的設(shè)計(jì)過程中,通常會(huì)遇到需要把用戶帶到一個(gè)新頁面中。這時(shí)可以使用Response的Redirect方法。在這種方法中要給出需要重定向的頁面的相對(duì)路徑或URL。重定向在網(wǎng)站的設(shè)計(jì)過程中,通常會(huì)遇到需要把用戶帶到一個(gè)新頁例子例子緩存HTML
Response對(duì)象有一個(gè)屬性是Buffer,這個(gè)屬性的值用來確定數(shù)據(jù)發(fā)送給客戶之前是否要緩沖。它的默認(rèn)值是True,表示確定數(shù)據(jù)發(fā)送給客戶之前需要緩沖,也就是說把需要發(fā)送給客戶的信息先放置到一個(gè)預(yù)先設(shè)定的緩沖區(qū)中,然后再一次性地發(fā)送給客戶;如果把這個(gè)值設(shè)置為False,那么所有的信息都會(huì)在產(chǎn)生的時(shí)候立即發(fā)送給客戶。從速度上說,這種不使用緩沖的方法會(huì)比使用緩沖的方法要慢得多。緩存HTMLResponse對(duì)象有一個(gè)屬性是Buffer,例子例子輸出文本文件的內(nèi)容Response對(duì)象的WriteFile方法可以實(shí)現(xiàn)將文本文件的內(nèi)容值接像屏幕輸出。這種方法與Wirte方法一樣都可以向客戶輸出數(shù)據(jù),惟一的不同在于Write方法是輸出它所帶參數(shù)中保存的字符串,而WriteFile方法所帶的參數(shù)則是代表一個(gè)文本文件的名字,可以把這個(gè)文件中的文本當(dāng)作數(shù)據(jù)輸出給客戶。輸出文本文件的內(nèi)容Response對(duì)象的WriteFile例子例子Request對(duì)象get方法post方法使用環(huán)境變量Request對(duì)象get方法Request對(duì)象Request對(duì)象是ASP.NET中用于提取瀏覽器中用戶輸入信息的內(nèi)置對(duì)象。在使用這個(gè)內(nèi)部對(duì)象時(shí),用戶的信息可以通過表單來提交,也可以通過直接用URL的參數(shù)來獲取,還可以通過環(huán)境變量來提供。Request對(duì)象Request對(duì)象是ASP.NET中用于get方法使用get方法進(jìn)行數(shù)據(jù)提交是把用戶要提交的信息作為查詢字符串加在URL的后面?zhèn)鹘o接收程序。URL是指UniformResourceLocators(統(tǒng)一資源定位器),它的通常形式是類似http:/filename.ext形式的字符串。而查詢字符串則是加在URL的后面,與前面的URL一起提交給服務(wù)器的字符串。get方法使用get方法進(jìn)行數(shù)據(jù)提交是把用戶要提交的信息作例子例子post方法使用post方法可以用Request對(duì)象的Form集合屬性來得到用戶提交的數(shù)據(jù)。這時(shí),用戶瀏覽器的地址欄中不會(huì)顯示相關(guān)的查詢字符串。因此如果需要提交的數(shù)據(jù)很多時(shí),應(yīng)該使用post方法,因?yàn)樗鼘?duì)數(shù)據(jù)的大小和長(zhǎng)度沒有什么限制。如果使用Web表單而不是HTML表單的話,那么也只能夠使用post方法來獲取數(shù)據(jù),因?yàn)檫@是Web表單默認(rèn)使用的方法,無需在定義表單的時(shí)候說明。post方法使用post方法可以用Request對(duì)象的Fo例子例子環(huán)境變量每次從客戶的瀏覽器向服務(wù)器發(fā)送請(qǐng)求時(shí),程序都可以搜集很多關(guān)于用戶的信息。比如主機(jī)名、IP地址、瀏覽器類型和操作系統(tǒng)等。這些信息被稱為服務(wù)器環(huán)境變量,可以通過Request對(duì)象的ServerVariables集合來進(jìn)行使用環(huán)境變量每次從客戶的瀏覽器向服務(wù)器發(fā)送請(qǐng)求時(shí),程序都可以搜ALL_HTTP
在沒有解析成為其他環(huán)境變量值前的所有HTTP
ALL_HTTP在沒有解析成為其他環(huán)境變量值前的所有HTT例子例子PATH_INFO
PATH_INFO可以獲得一個(gè)程序所在文件的URL的值,使用這個(gè)變量通常可以使程序更加靈活。PATH_INFOPATH_INFO可以獲得一個(gè)程序所在文例子例子REMOTE_ADDR
通過REMOTE_ADDR可以得到客戶或代理服務(wù)器的IP地址REMOTE_ADDR通過REMOTE_ADDR可以得到客例子例子獲取用戶的瀏覽器的信息要獲取用戶的瀏覽器的信息,最簡(jiǎn)單的方法就是使用Request對(duì)象的Browser屬性。這個(gè)屬性本身也是一個(gè)對(duì)象,它的常用屬性有兩個(gè):(1)Browser:表示瀏覽器的名稱(2)MajorVersion:表示瀏覽器的版本的整數(shù)位(3)Version:表示瀏覽器的完整版本號(hào)獲取用戶的瀏覽器的信息要獲取用戶的瀏覽器的信息,最簡(jiǎn)單的方例子例子Application對(duì)象如何使用Application對(duì)象Contents集合和StaticObjects集合Lock和UnLock方法的使用Application事件Application對(duì)象如何使用Application對(duì)Application對(duì)象在ASP.NET中,Application是ASP.NET的一個(gè)特殊的內(nèi)置對(duì)象,它代表一個(gè)目錄以及它所有子目錄中的所有ASP.NET文件,方便了文件之間的數(shù)據(jù)共享。由于它是一個(gè)內(nèi)置對(duì)象,所以使用它的時(shí)候與使用Response對(duì)象和Request對(duì)象類似,不需要進(jìn)行任何對(duì)象的實(shí)例化,就可以直接使用。Application對(duì)象在ASP.NET中,Applic如何使用Application對(duì)象從Web站點(diǎn)的主目錄開始,每個(gè)目錄和子目錄都可以作為一個(gè)Application。只要在一個(gè)目錄中沒有找到其他的Application,那么這個(gè)目錄中的每一個(gè)文件和子目錄都是這個(gè)Application的一部分。如何使用Application對(duì)象從Web站點(diǎn)的主目錄開始配置Application使用IIS配置Application配置Application使用IIS配置Applicatio例子例子Contents集合Application對(duì)象的Contents屬性是一個(gè)集合,它包含了這個(gè)對(duì)象中所有的不是用<OBJECT>定義的非對(duì)象項(xiàng)目信息。使用Contents集合可以得到這個(gè)項(xiàng)目的值,方法如下:Response.Write(Application.Contents["greeting"]);
Contents集合Application對(duì)象的Conten例子例子StaticObjects集合那些用<OBJECT>定義的對(duì)象可以用StaticObjects集合來訪問StaticObjects集合那些用<OBJECT>定義的Lock和UnLock方法的使用由于Web程序是一個(gè)多用戶的程序,那么對(duì)于一些存在計(jì)算功能的程序就可能因?yàn)榇嬖诙鄠€(gè)用戶而產(chǎn)生計(jì)算錯(cuò)誤問題。Application恰恰又是一個(gè)存儲(chǔ)著共享信息的對(duì)象,當(dāng)有多個(gè)用戶同時(shí)希望改變Application對(duì)象中某個(gè)項(xiàng)目的內(nèi)容的時(shí)候,就有可能出現(xiàn)數(shù)據(jù)不一致的問題。為了防止這個(gè)問題的發(fā)生,Application對(duì)象提供了兩種方法:Lock和UnLock。當(dāng)希望修改某個(gè)項(xiàng)目的內(nèi)容時(shí),先用Lock方法將Application對(duì)象鎖住,限制其他的用戶修改Application中的項(xiàng)目的值,然后再對(duì)項(xiàng)目的值進(jìn)行修改。修改完成后,使用UnLock方法把鎖打開。Lock和UnLock方法的使用由于Web程序是一個(gè)多用戶例子例子Application事件Application有兩個(gè)事件:OnStart和OnEnd。OnStart是當(dāng)?shù)谝粋€(gè)客戶請(qǐng)求ASP.NET文件的時(shí)候,由ASP.NET調(diào)用執(zhí)行;OnEnd事件則是在服務(wù)器關(guān)閉的時(shí)候,由ASP.NET調(diào)用執(zhí)行,通常是把所有需要永久保存的信息寫入到磁盤中,以便在服務(wù)器重新啟動(dòng)并被訪問的時(shí)候重新加載。將在第9章講解這兩個(gè)事件的使用方法。Application事件Application有兩個(gè)事件Session對(duì)象Session對(duì)象的屬性Session對(duì)象的方法Session對(duì)象的事件使用Session對(duì)象的注意事項(xiàng)Session對(duì)象Session對(duì)象的屬性Session對(duì)象ASP.NET提供了內(nèi)置對(duì)象Session負(fù)責(zé)存儲(chǔ)、讀取和改變一個(gè)特定用戶的會(huì)話信息。早期版本ASP的Session對(duì)象是依賴Cookie進(jìn)行個(gè)人身份的甄別的。而在ASP.NET中,則可以選擇把SessionID存儲(chǔ)在每一個(gè)鏈接的URL中。這樣,如果用戶的瀏覽器不支持Cookie,那么也可以使用Session。當(dāng)然,ASP.NET仍然保留了使用Cookie來保存SessionID的方法。Session對(duì)象ASP.NET提供了內(nèi)置對(duì)象Sessio例子例子Session對(duì)象的屬性Session對(duì)象的常用屬性有:SessionID、TimeOut、LCID、Contents集合和StaticObjects集合。SessionID表示一個(gè)會(huì)話的存在,可以區(qū)分不同的Session。TimeOut屬性表示在一個(gè)會(huì)話結(jié)束之前會(huì)等待用戶沒有任何活動(dòng)的最大時(shí)間,單位是分鐘。LCID是表示不同的地區(qū)的一個(gè)內(nèi)部標(biāo)識(shí)。Contents集合和StaticObjects集合的使用與Application對(duì)象的Contents集合和StaticObjects集合的使用方法一樣Session對(duì)象的屬性Session對(duì)象的常用屬性有:SSession對(duì)象的方法Session對(duì)象只有一個(gè)方法:Abandon,調(diào)用這種方法可以立即銷毀Session對(duì)象并立即釋放Session對(duì)象占用的資源。當(dāng)Session對(duì)象所記錄的內(nèi)容不再有用的時(shí)候,就可以使用這種方法將Session對(duì)象銷毀。Session對(duì)象的方法Session對(duì)象只有一個(gè)方法:ASession對(duì)象的事件OnStart事件在客戶第一次從應(yīng)用程序中請(qǐng)求ASP.NET頁的時(shí)候由ASP.NET調(diào)用,OnEnd事件在會(huì)話關(guān)閉的時(shí)候調(diào)用。當(dāng)會(huì)話超時(shí)或調(diào)用Session的Abandon方法的時(shí)候也會(huì)發(fā)生這個(gè)事件。在第9章中講解Session對(duì)象的事件OnStart事件在客戶第一次從應(yīng)Server對(duì)象Server對(duì)象的屬性Server對(duì)象的方法Server對(duì)象Server對(duì)象的屬性Server對(duì)象Server對(duì)象的屬性反映了Web服務(wù)器的各種信息,它提供了服務(wù)器可以提供的各種服務(wù)。這個(gè)對(duì)象與Application對(duì)象和Session對(duì)象不同,它不負(fù)責(zé)為用戶存儲(chǔ)什么信息,也沒有什么事件Server對(duì)象Server對(duì)象的屬性反映了Web服務(wù)器的Server對(duì)象的屬性Server對(duì)象的MachineName屬性用于存儲(chǔ)主機(jī)機(jī)器名。Server對(duì)象的另一個(gè)屬性是ScriptTimeout屬性,這個(gè)屬性說明了在頁面超時(shí)之前可以運(yùn)行多長(zhǎng)時(shí)間。這個(gè)值的單位是以秒為單位的,默認(rèn)值是90秒。程序員可以通過設(shè)置這個(gè)值來改變默認(rèn)值。Server對(duì)象的屬性Server對(duì)象的MachineNaServer對(duì)象的方法CreateObject方法用于在ASP.NET中創(chuàng)建所有的對(duì)象。Execute方法用于把控制傳遞給其他的子例程或存儲(chǔ)過程GetLastError方法的作用是檢索最近一次發(fā)生的ASP.NET錯(cuò)誤。HTMLEncode方法是一種重要的在網(wǎng)頁上顯示文本的方法。MapPath方法可以把一個(gè)實(shí)際的文件轉(zhuǎn)化成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具安全教案課件
- 印刷業(yè)互聯(lián)網(wǎng)+與融合發(fā)展考核試卷
- 冷藏車運(yùn)輸企業(yè)風(fēng)險(xiǎn)管理與內(nèi)部控制系統(tǒng)考核試卷
- 天然氣藏動(dòng)態(tài)模擬與預(yù)測(cè)考核試卷
- 影視錄放設(shè)備顯示技術(shù)考核試卷
- 文化藝術(shù)與城市品牌建設(shè)考核試卷
- 木片干燥技術(shù)與木材應(yīng)力釋放考核試卷
- 健身器材行業(yè)企業(yè)文化建設(shè)與品牌形象提升考核試卷
- 保險(xiǎn)業(yè)與新能源保險(xiǎn)市場(chǎng)的機(jī)遇與挑戰(zhàn)應(yīng)對(duì)策略案例分析考核試卷
- 制糖業(yè)的可持續(xù)發(fā)展評(píng)估考核試卷
- 勞務(wù)合同協(xié)議書書
- 白城2025年吉林大安市事業(yè)單位面向上半年應(yīng)征入伍高校畢業(yè)生招聘5人筆試歷年參考題庫附帶答案詳解
- 全球人工智能產(chǎn)業(yè)發(fā)展現(xiàn)狀和趨勢(shì)
- 2025年內(nèi)蒙古化工職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 民法典解讀之婚姻家庭編
- 2025年菏澤醫(yī)學(xué)??茖W(xué)校高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 2025年漯河職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫含答案解析
- Unit 2 What time is it?-A Let's spell(課件)-2024-2025學(xué)年人教PEP版英語四年級(jí)下冊(cè)
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)下冊(cè)第二單元百分?jǐn)?shù)(二)(含答案)
- 創(chuàng)新教案:《歌唱二小放牛郎》在2025年音樂教學(xué)中的應(yīng)用
- 2024年西安電力高等??茖W(xué)校高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(頻考版)含答案解析
評(píng)論
0/150
提交評(píng)論