ASP.NET(C#)大學(xué)實(shí)用教程-第5章_第1頁(yè)
ASP.NET(C#)大學(xué)實(shí)用教程-第5章_第2頁(yè)
ASP.NET(C#)大學(xué)實(shí)用教程-第5章_第3頁(yè)
ASP.NET(C#)大學(xué)實(shí)用教程-第5章_第4頁(yè)
ASP.NET(C#)大學(xué)實(shí)用教程-第5章_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

ASP.NET(C#)大學(xué)實(shí)用教程郭洪濤劉丹妮陳明華編著內(nèi)置對(duì)象概述Page對(duì)象Request對(duì)象Response對(duì)象Session對(duì)象Cookie對(duì)象Application對(duì)象Server對(duì)象本章知識(shí)點(diǎn)內(nèi)置對(duì)象概述ASP.NET提供了大量的內(nèi)置對(duì)象,通過(guò)調(diào)用這些對(duì)象的方法可以實(shí)現(xiàn)豐富的功能,使得開(kāi)發(fā)人員可以更加自由和靈活地編寫(xiě)程序。這些內(nèi)置對(duì)象可以通過(guò)Web窗體頁(yè)的相關(guān)屬性訪(fǎng)問(wèn),多數(shù)的內(nèi)置對(duì)象是通過(guò)具有HTTP前綴的框架類(lèi)實(shí)現(xiàn)的常用內(nèi)部對(duì)象及其功能Page對(duì)象對(duì)ASP.NET頁(yè)面相關(guān)的內(nèi)容進(jìn)行處理;Request對(duì)象獲取客戶(hù)端及服務(wù)器端的相關(guān)信息;Response對(duì)象將HTTP響應(yīng)數(shù)據(jù)及有關(guān)該響應(yīng)的信息發(fā)送到客戶(hù)端;Session對(duì)象為客戶(hù)的會(huì)話(huà)存儲(chǔ)信息;Cookie對(duì)象存儲(chǔ)與客戶(hù)和網(wǎng)站相關(guān)的信息;Application對(duì)象保存應(yīng)用程序需多次訪(fǎng)問(wèn)的信息,或Web服務(wù)的實(shí)例;Server對(duì)象提供一系列與Web相關(guān)的實(shí)用程序。Page對(duì)象Page對(duì)象由System.Web.UI.Page類(lèi)實(shí)現(xiàn),類(lèi)中包含了用于所有ASP.NET頁(yè)面的方法和屬性。Page對(duì)象的常用屬性屬性說(shuō)明IsPostBack獲取一個(gè)值,該值指示該頁(yè)是否正在為響應(yīng)客戶(hù)端回發(fā)而加載,或者它是否正在被首次加載和訪(fǎng)問(wèn)IsValid獲取一個(gè)值,該值指示頁(yè)驗(yàn)證是否成功Validators獲取請(qǐng)求的頁(yè)上包含的全部驗(yàn)證控件的集合Page對(duì)象的常用事件Page對(duì)象事件說(shuō)明Load在服務(wù)器控件加載到Page對(duì)象中時(shí)發(fā)生PreRender在頁(yè)面顯示的時(shí)候發(fā)生Unload在服務(wù)器控件從內(nèi)存中卸載時(shí)發(fā)生Disposed在從內(nèi)存釋放服務(wù)器控件時(shí)發(fā)生Load在服務(wù)器控件加載到Page對(duì)象中時(shí)發(fā)生PreRender在頁(yè)面顯示的時(shí)候發(fā)生Unload在服務(wù)器控件從內(nèi)存中卸載時(shí)發(fā)生Disposed在從內(nèi)存釋放服務(wù)器控件時(shí)發(fā)生

頁(yè)面的生命周期

1. 初始化階段2. 頁(yè)面視圖狀態(tài)的加載階段3. 處理回發(fā)數(shù)據(jù)階段4. 觸發(fā)Load事件5. 處理回發(fā)事件階段6. 頁(yè)面顯示階段7. 資源釋和頁(yè)面顯示放階段Page對(duì)象

例5-1是關(guān)于Page對(duì)象的Load事件和IsPostBack屬性的一個(gè)示例。運(yùn)行結(jié)果如圖5-1所示:當(dāng)頁(yè)面初次加載的時(shí)候,顯示兩個(gè)選項(xiàng),冰箱和彩電;以后每次回車(chē),都會(huì)把用戶(hù)在文本框當(dāng)中輸入的內(nèi)容添加成為單選列表的一個(gè)選項(xiàng)。注意:為了使用戶(hù)敲回車(chē)鍵,頁(yè)面刷新,需要設(shè)置文本框TextBox1的AutoPostBack屬性值為true。Page對(duì)象

Request對(duì)象是由System.Web.HttpRequest類(lèi)實(shí)現(xiàn)的,用來(lái)獲取客戶(hù)端的信息。Request對(duì)象的常用屬性Request對(duì)象屬性說(shuō)明Form獲取Web表單<form>標(biāo)記的字段內(nèi)容QueryString利用URL傳遞參數(shù),并獲取參數(shù)的內(nèi)容ServerVariables獲取服務(wù)器端或客戶(hù)端的系統(tǒng)信息Browser獲取客戶(hù)端的瀏覽器信息,如版本號(hào)等Cookies獲取客戶(hù)端瀏覽器的Cookies信息ClientCertificate獲取客戶(hù)端的安全證書(shū)

使用表單傳遞數(shù)據(jù)表單指的是HTML代碼中<form>標(biāo)記內(nèi)的表單。想要利用表單傳遞數(shù)據(jù),首先要將<form>標(biāo)記的method屬性設(shè)置為post獲取表單的字段值語(yǔ)法:Request.Form["字段名稱(chēng)"];可以省略為:Request["字段名稱(chēng)"];Request對(duì)象

例5-2當(dāng)輸入了用戶(hù)名信息后,單擊按鈕,顯示含有用戶(hù)名的歡迎信息。Request對(duì)象

使用URL傳遞參數(shù)通過(guò)Request對(duì)象QueryString屬性來(lái)實(shí)現(xiàn)。語(yǔ)法如下:Request.QueryString["字段名稱(chēng)"];例5-3是一個(gè)使用URL傳遞參數(shù)的例子。Request對(duì)象

ServerVariables屬性利用Request對(duì)象的ServerVariables屬性可以方便地獲取服務(wù)器環(huán)境變量的內(nèi)容,其語(yǔ)法如下:Request.ServerVariables["環(huán)境變量名稱(chēng)"];環(huán)境變量說(shuō)明ALL_HTTP傳送給客戶(hù)端瀏覽器的HTTP標(biāo)題內(nèi)容APPL_RAW所有傳送給客戶(hù)端瀏覽器的原始信息APPL_MD_PATHWeb應(yīng)用程序的相對(duì)路徑APPL_PHYSICAL_PATHWeb應(yīng)用程序的物理路徑AUTH_PASSWORD客戶(hù)認(rèn)證信息的密碼CONTENT_LENGTH發(fā)送到客戶(hù)端的文件長(zhǎng)度AUTH_USER客戶(hù)認(rèn)證的用戶(hù)賬號(hào)信息AUTH_TYPE用戶(hù)是否有權(quán)訪(fǎng)問(wèn)被保護(hù)腳本的標(biāo)識(shí)Request對(duì)象環(huán)境變量說(shuō)明CONTENT_TYPE發(fā)送到客戶(hù)端的文件類(lèi)型GATEWAY_INTERFACE服務(wù)器端的CGI版本HTTP_ACCEPT_LANGUAGE服務(wù)器端允許使用的語(yǔ)系HTTP_CONNECTION服務(wù)器端的聯(lián)機(jī)狀態(tài)HTTP_HOST服務(wù)器的主機(jī)名稱(chēng)HTTP_USER_AGENT服務(wù)器端使用的CookieHTTP_ACCEPT_ENCODING服務(wù)器端允許使用的編碼方式LOCAL_ADDR服務(wù)器端的IP地址LOGON_USER當(dāng)用戶(hù)以WindowsNT登錄時(shí),所記錄的客戶(hù)端信息QUERY_STRING使用URL傳遞的數(shù)據(jù)REMOTE_ADDR客戶(hù)端的IP地址REMOTE_HOST客戶(hù)端的主機(jī)名稱(chēng)REQUEST_METHOD傳送Web表單數(shù)據(jù)的方式,可以是GET或POSTSCRIPT_NAME當(dāng)前ASP.NET文件的相對(duì)路徑與文件名稱(chēng)SERVER_NAME服務(wù)器端的IP地址或名稱(chēng)SERVER_PORT用HTTP進(jìn)行數(shù)據(jù)請(qǐng)求時(shí),所用到的服務(wù)器端的端口號(hào)SERVER_PROTOCOL服務(wù)器端使用的通信協(xié)議SERVER_SOFTWARE服務(wù)器端使用的軟件、版本和名稱(chēng)URLURL的相對(duì)網(wǎng)址

例5-4是一個(gè)用Request對(duì)象的ServerVariables屬性獲取如客戶(hù)端IP地址等服務(wù)器環(huán)境變量,并輸出到瀏覽器的例子。Request對(duì)象

獲取瀏覽器信息使用不同的瀏覽器對(duì)同一網(wǎng)頁(yè)進(jìn)行瀏覽時(shí),可能會(huì)得到不同的結(jié)果。采用Request對(duì)象的Browser屬性可以獲取客戶(hù)端瀏覽器的屬性值,從而實(shí)現(xiàn)針對(duì)不同的瀏覽器編寫(xiě)不同的Web文件語(yǔ)法規(guī)則:Requst.Browser["瀏覽器屬性名稱(chēng)"];常用瀏覽器屬性:Request對(duì)象屬性說(shuō)明Type客戶(hù)端瀏覽器的名稱(chēng)和主(整數(shù))版本號(hào)BackgroundSounds客戶(hù)端瀏覽器是否支持背景聲音Browser客戶(hù)端瀏覽器的名稱(chēng)Version客戶(hù)端瀏覽器的完整(整數(shù)和小數(shù))版本號(hào)MajorVersion客戶(hù)端瀏覽器的主(整數(shù))版本號(hào)

常用瀏覽器屬性屬性說(shuō)明MinorVersion客戶(hù)端瀏覽器的次(小數(shù))版本號(hào)Platform客戶(hù)端使用平臺(tái)的名稱(chēng)Frames客戶(hù)端瀏覽器是否支持HTML框架Tables客戶(hù)端瀏覽器是否支持表格功能Cookies客戶(hù)端瀏覽器是否支持CookiesClrVersion客戶(hù)端安裝的.NET公共語(yǔ)言運(yùn)行庫(kù)的版本號(hào)JavaApplets客戶(hù)端瀏覽器是否支持Java小程序JavaScript客戶(hù)端瀏覽器是否支持JavaScriptActiveXControls客戶(hù)端瀏覽器是否支持ActiveX控件Win16客戶(hù)端是否為基于Win16的計(jì)算機(jī)Win32客戶(hù)端是否為基于Win32的計(jì)算機(jī)

獲取瀏覽器信息在例5-5中,使用Request對(duì)象的Browser屬性獲取了客戶(hù)端瀏覽器的一些信息。Request對(duì)象Request對(duì)象獲取客戶(hù)端安全證書(shū)方法:HttpClientCertificateHDC=Request.ClientCertificate;HDC中存放了所有客戶(hù)端安全證書(shū)的信息,ClientCertificate這一屬性是用HttpClientCertificate類(lèi)來(lái)聲明的,證書(shū)的相關(guān)信息由類(lèi)HttpClientCertificate中的相應(yīng)屬性來(lái)表示。證書(shū)信息屬性:屬性說(shuō)明AllKeys獲取NameValueCollection對(duì)象中的所有鍵BinaryIssuer獲取或設(shè)置證書(shū)頒發(fā)者(以二進(jìn)制格式表示)CertEncoding獲取證書(shū)的編碼Certificate獲取一個(gè)字符串,該字符串包含整個(gè)證書(shū)內(nèi)容的二進(jìn)制流Cookie獲取客戶(hù)證書(shū)的唯一ID(如果提供了的話(huà))Flags一組標(biāo)識(shí),提供附加的客戶(hù)證書(shū)信息屬性說(shuō)明IsPresent獲取一個(gè)值,該值指示客戶(hù)證書(shū)是否存在Issuer一個(gè)字符串,該字符串包括含有有關(guān)證書(shū)頒發(fā)者信息的子字段值的列表IsValid獲取一個(gè)值,該值指示客戶(hù)證書(shū)是否有效Item獲取或設(shè)置NameValueCollection對(duì)象中的指定項(xiàng)KeySize獲取數(shù)字證書(shū)密鑰大小的位數(shù)PublicKey獲取證書(shū)中的公鑰二進(jìn)制值SecretKeySize獲取服務(wù)器證書(shū)私鑰的位數(shù)SerialNumber將證書(shū)序列號(hào)表示為以連字符分隔的十六進(jìn)制ASCII字符形式ServerIssuer獲取服務(wù)器證書(shū)的頒發(fā)者ServerSubject獲取服務(wù)器證書(shū)的接收方Subject獲取客戶(hù)證書(shū)的接收方ValidFrom獲取證書(shū)生效的日期,此日期隨區(qū)域設(shè)置的不同而不同ValidUntil獲取證書(shū)到期日期Request對(duì)象獲取客戶(hù)端安全證書(shū)例5-6利用ClientCertificate對(duì)象獲取了部分客戶(hù)端安全證書(shū)信息Request對(duì)象

該對(duì)象由HttpResponse類(lèi)定義,主要用于控制對(duì)瀏覽器的輸出。Response對(duì)象的常用屬性Response對(duì)象屬性說(shuō)明Buffer獲取或設(shè)置一個(gè)值,該值指示是否緩沖輸出,并在完成處理整個(gè)響應(yīng)之后將其發(fā)送BufferOutput獲取或設(shè)置一個(gè)值,該值指示是否緩沖輸出,并在完成處理整個(gè)頁(yè)之后將其發(fā)送Cache獲取Web頁(yè)的緩存策略(過(guò)期時(shí)間、保密性、變化子句)Charset獲取或設(shè)置輸出流的HTTP字符集ContentType

獲取或設(shè)置輸出流的HTTPMIME類(lèi)型Cookies獲取響應(yīng)Cookie集合

Response對(duì)象的常用方法Response對(duì)象方法說(shuō)明Write()向客戶(hù)端瀏覽器輸出信息Redirect()將客戶(hù)端重新定向到新的URLBinaryWrite()輸出二進(jìn)制信息Clear()清除緩沖區(qū)中的所有HTTP頁(yè)面End()將當(dāng)前所有緩沖的輸出發(fā)送到客戶(hù)端,停止該頁(yè)的執(zhí)行,并引發(fā)Application_EndRequest事件Flush()向客戶(hù)端發(fā)送當(dāng)前所有緩沖輸出

利用Response.Write()方法輸出信息利用Response對(duì)象的Write()方法,就可以在客戶(hù)端輸出信息,其效果與使用Label標(biāo)簽控件的結(jié)果是一樣的語(yǔ)法規(guī)則如下:Response.Write(變量數(shù)據(jù)或字符串);Response對(duì)象

例5-7是一個(gè)用Response對(duì)象的Write()方法向客戶(hù)端輸出信息的例子。Response對(duì)象

將客戶(hù)端定位到新URL利用Response對(duì)象的Redirect可以自動(dòng)引導(dǎo)客戶(hù)至另一個(gè)頁(yè)面Redirect()方法之后的語(yǔ)句完全沒(méi)有執(zhí)行的機(jī)會(huì)語(yǔ)法:

Response.Redirect("URL");Response對(duì)象

例5-8用LinkButton控件模擬HypherLink控件的功能;并能夠按照用戶(hù)輸入的地址,將用戶(hù)引導(dǎo)至相應(yīng)的網(wǎng)站。Response對(duì)象

緩沖區(qū)相關(guān)屬性和方法Web服務(wù)器在編譯ASP.NET程序代碼的過(guò)程中,可以選擇將結(jié)果立即輸出到客戶(hù)端的瀏覽器上;或者是將結(jié)果存放在緩沖區(qū)之中,等到所有的程序代碼都執(zhí)行完畢之后,才將完成的結(jié)果輸出到瀏覽器上。Response對(duì)象的屬性中有幾個(gè)與緩沖區(qū)相關(guān)的常用屬性和方法語(yǔ)言規(guī)范Response對(duì)象成員語(yǔ)法格式屬性BufferOutputResponse.BufferOutput=False;BufferResponse.Buffer=False;方法Clear()Response.Clear();End()Response.End();Flush()Response.Flush();

緩沖區(qū)相關(guān)屬性和方法1BufferOutput和Response.Buffer屬性可以用Response.BufferOutput和Response.Buffer屬性來(lái)設(shè)置ASP.NET程序在輸出時(shí)是否使用緩沖區(qū)這兩個(gè)屬性的默認(rèn)值都為T(mén)rue。希望不使用緩沖區(qū)輸出數(shù)據(jù)時(shí),可將這兩個(gè)屬性中的任何一這個(gè)設(shè)置為False。2.Clear()方法當(dāng)執(zhí)行到ASP.NET的Response.Clear()方法時(shí),服務(wù)器緩沖區(qū)中所有的內(nèi)容將會(huì)被清除。Response對(duì)象

緩沖區(qū)相關(guān)屬性和方法3.End()方法當(dāng)執(zhí)行到Response.End()語(yǔ)句時(shí),對(duì)程序代碼的執(zhí)行將會(huì)立即終止,緩沖區(qū)中現(xiàn)有的內(nèi)容將全部被輸出到瀏覽器上。同時(shí),在End()方法之后的語(yǔ)句都將得不到執(zhí)行。4.Response對(duì)象的Flush()方法Flush()方法的作用是將緩沖區(qū)中的內(nèi)容全部輸出到頁(yè)面中去,并清空緩沖區(qū)。區(qū)別:1)Response.Clear()之前的內(nèi)容不會(huì)得到輸出2)Response.End()之后的語(yǔ)句不會(huì)得到執(zhí)行3)Response.Flush()前后的語(yǔ)句都可以得到輸出Response對(duì)象

例5-9應(yīng)用了Response對(duì)象的緩沖區(qū)屬性和方法Response對(duì)象

Cookie對(duì)象基于System.Web.HttpCookie類(lèi)而實(shí)現(xiàn)的,可以在客戶(hù)端長(zhǎng)期保存信息。一般在WindowsXP環(huán)境下,如果某用戶(hù)的系統(tǒng)登錄帳號(hào)為“Administrator”,則其對(duì)應(yīng)Cookie存放在C:\DocumentsandSettings\Administrator\Cookies目錄下其中的每個(gè)文本文件對(duì)應(yīng)著一個(gè)該用戶(hù)訪(fǎng)問(wèn)過(guò)的網(wǎng)站,可以隨時(shí)讀取,但每個(gè)網(wǎng)站只能讀取與自己對(duì)應(yīng)的Cookie。如果最初設(shè)置Cookie的Web瀏覽器在響應(yīng)中發(fā)送更新后的值,則Cookie值會(huì)自動(dòng)更改。Cookie對(duì)象

Cookie的使用限制:(1)IE和Netscape瀏覽器都支持Cookie,但I(xiàn)E4.0之前的版本,需要通過(guò)設(shè)置接受Cookie,IE5.0以上的版本默認(rèn)是接受Cookie的;(2)大多數(shù)瀏覽器支持最多可達(dá)4096字節(jié)的

Cookie;(3)瀏覽器限制了站點(diǎn)可以在用戶(hù)計(jì)算機(jī)上保存Cookie的數(shù)量,大多數(shù)瀏覽器只允許每個(gè)站點(diǎn)保存

20個(gè)Cookie。對(duì)Cookie對(duì)象的主要的操作創(chuàng)建并設(shè)置Cookie刪除Cookie,獲取Cookie的內(nèi)容。Cookie對(duì)象

創(chuàng)建和設(shè)置Cookie對(duì)象在創(chuàng)建Cookie時(shí),需要指定三個(gè)值,Cookie的名稱(chēng)、其中保存的值和該Cookie的有效期創(chuàng)建或修改Cookie對(duì)象的語(yǔ)法規(guī)范:

Response.Cookies["CookiesName"][["關(guān)鍵字"]]|[.屬性]=字符串;Response.Cookies["Cookie名稱(chēng)"].Expires=Cookie的有效期;例如:Response.Cookies["userName"].Value="xiaoming";Response.Cookies["userInfo"].Expires=DateTime.Now.AddDays(1);創(chuàng)建多子鍵Cookie:Response.Cookies["userInfo"]["userName"]="mike";Response.Cookies["userInfo"]["lastVisit"]=DateTime.Now.ToString;Response.Cookies["userInfo"].Expires=DateTime.Now.AddDays(1);Cookie對(duì)象

刪除Cookie對(duì)象當(dāng)用戶(hù)再次訪(fǎng)問(wèn)某站點(diǎn)時(shí),瀏覽器會(huì)先檢查該站點(diǎn)的Cookie集合,如果某個(gè)Cookie已經(jīng)過(guò)期,瀏覽器不會(huì)把這個(gè)Cookie隨頁(yè)面請(qǐng)求一起發(fā)送給服務(wù)器,而是刪除這個(gè)已經(jīng)過(guò)期的Cookie思考刪除Cookie對(duì)象的方法?讀取Cookie對(duì)象語(yǔ)法規(guī)范:Request.Cookies["Cookie名稱(chēng)"].[["關(guān)鍵字"]]|[.屬性];Cookie對(duì)象

Cookies綜合示例例5-10應(yīng)用了Cookies,可以顯示是第幾次訪(fǎng)問(wèn)網(wǎng)站Cookie對(duì)象

Session對(duì)象由System.Web.SessionStat.HttpSessionState類(lèi)實(shí)現(xiàn)的,用來(lái)記載一次會(huì)話(huà)中的客戶(hù)的信息。會(huì)話(huà)客戶(hù)對(duì)某一網(wǎng)站的一次訪(fǎng)問(wèn)稱(chēng)為一個(gè)會(huì)話(huà),ASP.NET應(yīng)用程序?yàn)槊總€(gè)用戶(hù)維護(hù)一個(gè)Session對(duì)象,在對(duì)這個(gè)網(wǎng)站的此次訪(fǎng)問(wèn)中,從一個(gè)頁(yè)面轉(zhuǎn)移到另一個(gè)頁(yè)面時(shí),存儲(chǔ)在Session中的信息都將被保存。

Session對(duì)象的成員Session對(duì)象成員說(shuō)明屬性SessionID用于標(biāo)識(shí)會(huì)話(huà)的唯一IDTimeout在會(huì)話(huà)狀態(tài)提供程序終止會(huì)話(huà)之前各請(qǐng)求之間所允許的超時(shí)期限(以分鐘為單位),默認(rèn)值為20分鐘方法Abandon()清除Session對(duì)象

使用Session對(duì)象保存客戶(hù)信息語(yǔ)法規(guī)范:Session[“Session名稱(chēng)”]=變量|常量|字符串|表達(dá)式;在第一次給Session賦值時(shí),就自動(dòng)創(chuàng)建了一個(gè)Session對(duì)象;以后如果再對(duì)該Session對(duì)象賦值,就是修改其中的值了;如果讀取一個(gè)不存在的Session,將會(huì)返回空。例5-11中實(shí)現(xiàn)了一個(gè)購(gòu)物車(chē)程序,在這里用戶(hù)購(gòu)物的信息使用Session對(duì)象來(lái)存放Session對(duì)象

Timeout屬性用戶(hù)登錄后的信息通常被存放在Session對(duì)象中,而Session對(duì)象不是一直有效的,它有一個(gè)有效期,默認(rèn)值為20分鐘,如果超過(guò)20分鐘用戶(hù)仍沒(méi)有和網(wǎng)站交互,保存了該用戶(hù)信息的Session對(duì)象就會(huì)失效Timeout屬性即用來(lái)表示Session的有效期。修改Timeout屬性值的語(yǔ)法如下:Session.Timeout=整數(shù)(單位為分鐘);例如,網(wǎng)上考試的時(shí)候,通常會(huì)把Session對(duì)象的有效期修改為90分鐘,相應(yīng)的語(yǔ)句為:Session.Timeout=90;Session對(duì)象

使用Application對(duì)象存儲(chǔ)信息語(yǔ)法:Application[“Application名稱(chēng)”]=變量|常量|字符串|表達(dá)式;與Session對(duì)象的區(qū)別:Application對(duì)象是一個(gè)公有變量,允許多個(gè)用戶(hù)對(duì)它進(jìn)行訪(fǎng)問(wèn);Session對(duì)象只允許某個(gè)特定的用戶(hù)對(duì)它進(jìn)行訪(fǎng)問(wèn)。Application對(duì)象

Application對(duì)象的加鎖和解鎖要實(shí)現(xiàn)公有資源的同步訪(fǎng)問(wèn)需要采用加鎖和解鎖的方法。加鎖-Lock()解鎖-Unlock()例:Application.Lock();Application["user_name"]=user_name;Application.UnLock();在調(diào)用了Lock方法之后,Application對(duì)象被鎖住,在調(diào)用UnLock方法之前,其他的用戶(hù)都無(wú)法訪(fǎng)問(wèn)Application對(duì)象,這樣就避免了Application對(duì)象在修改的過(guò)程中被臟讀。Application對(duì)象

例5-12使用Application對(duì)象實(shí)現(xiàn)留言板功能Application對(duì)象

該對(duì)象提供一系列與Web相關(guān)的實(shí)用程序。由System.

Web.

HttpServerUtility類(lèi)實(shí)現(xiàn),命名空間為System.Web。Server對(duì)象的常用屬性和方法Server對(duì)象成員說(shuō)明屬性ScriptTimeout獲取和設(shè)置請(qǐng)求超時(shí)值(單位為秒)方法CreateObject()創(chuàng)建COM對(duì)象的一個(gè)服務(wù)器實(shí)例Execute()在當(dāng)前請(qǐng)求的上下文中執(zhí)行指定資源的處理程序,然后將控制返回給該處理程序HtmlEncode()已重載,對(duì)要在瀏覽器中顯示的字符串進(jìn)行編碼MapPath()返回與Web服務(wù)器上指定虛擬路徑對(duì)應(yīng)的物理路徑Transfer()已重載,終止當(dāng)前頁(yè)的執(zhí)行,并為當(dāng)前請(qǐng)求開(kāi)始執(zhí)行新頁(yè)UrlEncode()編碼字符串,以便通過(guò)URL從Web服務(wù)器到客戶(hù)端進(jìn)行可靠的HTTP傳輸

ScriptTimeout屬性當(dāng)服務(wù)器端的某些應(yīng)用程序陷入了死循環(huán),或者服務(wù)器過(guò)載時(shí),用戶(hù)不可能一直等待頁(yè)面顯示,這時(shí),需要一個(gè)屬性來(lái)限制腳本文件的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論