版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Web開發(fā)技術(shù)1第第6章章 HTTP請求、響應(yīng)及狀態(tài)管理請求、響應(yīng)及狀態(tài)管理(P133)客戶端與服務(wù)器交互過程中狀態(tài)信息的獲取,頁面客戶端與服務(wù)器交互過程中狀態(tài)信息的獲取,頁面之間的數(shù)據(jù)傳遞,狀態(tài)變量的應(yīng)用與保存等。之間的數(shù)據(jù)傳遞,狀態(tài)變量的應(yīng)用與保存等。Web開發(fā)技術(shù)2本章要點:本章要點: 掌握掌握HttpRequest對象的應(yīng)用對象的應(yīng)用 掌握掌握HttpResponse對象的應(yīng)用對象的應(yīng)用 掌握掌握HttpServerUtility對象的應(yīng)用,理解對象的應(yīng)用,理解不同方法的頁面重定向不同方法的頁面重定向 掌握跨頁面提交的應(yīng)用。了解掌握跨頁面提交的應(yīng)用。了解ViewState、Cookie
2、 ,掌握,掌握Session、Application應(yīng)用。應(yīng)用。Web開發(fā)技術(shù)3目錄目錄 6.1 HTTP請求請求 6.2 HTTP響應(yīng)響應(yīng) 6.3 HttpServerUtility 6.4 跨網(wǎng)頁提交跨網(wǎng)頁提交 6.5 狀態(tài)管理狀態(tài)管理 6.6 小結(jié)小結(jié)Web開發(fā)技術(shù)46.1 HTTP請求請求 Page類的屬性類的屬性Request是一個是一個HttpRequest對象,它封裝了對象,它封裝了HTTP請求信息。請求信息。 ASP.NET通過通過Request對象能夠獲取客戶對象能夠獲取客戶端和服務(wù)器的信息,如訪問客戶端的瀏覽端和服務(wù)器的信息,如訪問客戶端的瀏覽器信息、查詢字符串、器信息、查
3、詢字符串、Cookie等信息。等信息。Web開發(fā)技術(shù)5 查詢字符串是指跟在查詢字符串是指跟在URL后面的變量及值,后面的變量及值,以以“?”與與URL間隔,不同的變量之間以間隔,不同的變量之間以“&”間隔。間隔。 可以實現(xiàn)不同頁面之間的數(shù)據(jù)可以實現(xiàn)不同頁面之間的數(shù)據(jù)傳遞。傳遞。 Cookie:中文名稱為小型文字檔案或小甜餅,中文名稱為小型文字檔案或小甜餅,指某些網(wǎng)站為了辨別用戶身份而儲存在用指某些網(wǎng)站為了辨別用戶身份而儲存在用戶本地終端(戶本地終端(Client Side)上的數(shù)據(jù)(通常)上的數(shù)據(jù)(通常經(jīng)過加密)。經(jīng)過加密)。Web開發(fā)技術(shù)6HttpRequest對象對應(yīng)的數(shù)據(jù)集合對象
4、對應(yīng)的數(shù)據(jù)集合(屬性屬性)Web開發(fā)技術(shù)7實例實例6-1 QueryString的使用的使用 當(dāng)單擊當(dāng)單擊QueryString1.aspx頁面上鏈接后,頁頁面上鏈接后,頁面重定向到面重定向到QueryString2.aspx;在頁面;在頁面 QueryString2.aspx中顯示從中顯示從QueryString1.aspx傳遞過來的查詢字符串?dāng)?shù)據(jù)信息。傳遞過來的查詢字符串?dāng)?shù)據(jù)信息。 源程序:源程序:QueryString1.aspx (P133) 源程序:源程序:QueryString2.aspx Web開發(fā)技術(shù)8源程序:源程序: QueryString1.aspx 傳遞查詢字符串到傳遞查
5、詢字符串到QueryString2.aspx 源程序:源程序:QueryString2.aspx QueryString2.aspx.csusing System;public partial class chap6_QueryString2 : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) /獲取從獲取從QueryString1.aspx中傳遞過來的查詢字符串值中傳遞過來的查詢字符串值 lblMsg.Text = Request.QueryStringusername + ,你的年齡是:你的年齡
6、是: + Request.QueryStringage; Web開發(fā)技術(shù)9ServerVariables數(shù)據(jù)集合數(shù)據(jù)集合 可很方便地取得服務(wù)器端或客戶端的環(huán)境變可很方便地取得服務(wù)器端或客戶端的環(huán)境變量信息,如客戶端的量信息,如客戶端的IP地址等。語法格式如地址等。語法格式如下:下:Request.ServerVariables環(huán)境變量名環(huán)境變量名 Web開發(fā)技術(shù)10常用的環(huán)境變量表常用的環(huán)境變量表 Web開發(fā)技術(shù)11Browser數(shù)據(jù)集合數(shù)據(jù)集合 用于判斷用戶的瀏覽器類型、版本等,以便用于判斷用戶的瀏覽器類型、版本等,以便根據(jù)不同的瀏覽器運行不同的網(wǎng)頁。根據(jù)不同的瀏覽器運行不同的網(wǎng)頁。 語法格
7、式為:語法格式為:Request.Browser瀏覽器特性名瀏覽器特性名。 Web開發(fā)技術(shù)12瀏覽器特性名對應(yīng)表瀏覽器特性名對應(yīng)表 Web開發(fā)技術(shù)13實例實例6-2 ServerVariables和和Browser應(yīng)用應(yīng)用 界面顯示信息為界面顯示信息為ServerVariables和和Brower數(shù)據(jù)集數(shù)據(jù)集合中相應(yīng)值。合中相應(yīng)值。 源程序:源程序:Request.aspx (P134) asp:Label ID=lblMsg runat=server Request.aspx.csusing System;public partial class chap6_Request : System
8、.Web.UI.Page protected void Page_Load(object sender, EventArgs e) lblMsg.Text = 服務(wù)器服務(wù)器IP地址:地址: + Request.ServerVariablesLocal_ADDR + ; lblMsg.Text += 客戶端客戶端IP地址:地址: + Request.ServerVariablesRemote_ADDR + ; lblMsg.Text += 瀏覽器類型:瀏覽器類型: + Request.BrowserBrowser + ; lblMsg.Text += 瀏覽器版本:瀏覽器版本: + Request
9、.BrowserVersion + ; lblMsg.Text += 是否支持是否支持Cookies: + Request.BrowserCookies; Web開發(fā)技術(shù)146.2 HTTP響應(yīng)響應(yīng) ASP.NET通過通過Page類的屬性類的屬性Response(即(即HttpResponse類的對象)可以很好地控制輸類的對象)可以很好地控制輸出的內(nèi)容和方式,如頁面重定向、保存出的內(nèi)容和方式,如頁面重定向、保存Cookie等。等。Web開發(fā)技術(shù)15HttpResponse對象的常用屬性和方法對象的常用屬性和方法 Web開發(fā)技術(shù)16實例實例6-3 Write()方法應(yīng)用方法應(yīng)用 利用利用Writ
10、e()方法除可以輸出提示信息、變量值外,方法除可以輸出提示信息、變量值外,也可以輸出也可以輸出XHTML文本或文本或JavaScript腳本。腳本。 源程序:源程序:Write.aspx (P136)實例實例6-4 Redirect()方法應(yīng)用方法應(yīng)用 選擇選擇“教師教師”后,頁面重定向到教師頁面后,頁面重定向到教師頁面Teacher.aspx,選擇選擇“學(xué)生學(xué)生”后頁面重定向到學(xué)生頁面后頁面重定向到學(xué)生頁面Student.aspx。 源程序:源程序:Redirect.aspx (P137) 源程序:源程序:Teacher.aspx (P138)using System;public part
11、ial class chap6_Write : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) Response.Write(); for (int i = 1; i = 4; i+) Response.Write(我喜歡我喜歡ASP.NET!); Response.Write(); Web開發(fā)技術(shù)17實例實例6-3 Write()方法應(yīng)用方法應(yīng)用 利用利用Write()方法除可以輸出提示信息、變量值外,方法除可以輸出提示信息、變量值外,也可以輸出也可以輸出XHTML文本或文本或JavaScript
12、腳本。腳本。 源程序:源程序:Write.aspx (P136)實例實例6-4 Redirect()方法應(yīng)用方法應(yīng)用 選擇選擇“教師教師”后,頁面重定向到教師頁面后,頁面重定向到教師頁面Teacher.aspx,選擇選擇“學(xué)生學(xué)生”后頁面重定向到學(xué)生頁面后頁面重定向到學(xué)生頁面Student.aspx。 源程序:源程序:Redirect.aspx (P137) 源程序:源程序:Teacher.aspx (P138)Web開發(fā)技術(shù)18Redirect.aspx.csusing System;public partial class chap6_Redirect : System.Web.UI.Pa
13、ge protected void btnSubmit_Click(object sender, EventArgs e) if (rdoltStatus.SelectedValue = teacher) Response.Redirect(Teacher.aspx?name= + txtName.Text); else Response.Redirect(Student.aspx?name= + txtName.Text); Teacher.aspx.csusing System;public partial class chap6_Teacher : System.Web.UI.Page
14、protected void Page_Load(object sender, EventArgs e) lblMsg.Text = Request.QueryStringname + 老師老師 ,歡迎您!,歡迎您!; Web開發(fā)技術(shù)196.3 HttpServerUtility Page類的屬性類的屬性Server(即(即HttpServerUtility類的對象)封裝了服務(wù)器端的一些操作,類的對象)封裝了服務(wù)器端的一些操作,如轉(zhuǎn)換如轉(zhuǎn)換XHTML元素標(biāo)志、獲取網(wǎng)頁的物理元素標(biāo)志、獲取網(wǎng)頁的物理路徑等。路徑等。 Web開發(fā)技術(shù)20Server對象的常用屬性和方法表對象的常用屬性和方法表 We
15、b開發(fā)技術(shù)21Response.Write(Server.HtmlEncode(This is a dog ) + ); Response.Write( Student.aspx ); Response.Write( Student.aspx) );因使用了因使用了Server.UrlEncode()方法方法,將空格轉(zhuǎn)換為將空格轉(zhuǎn)換為“+”不不再丟失再丟失“張張”后面的信息。后面的信息。Web開發(fā)技術(shù)226.4 跨網(wǎng)頁提交跨網(wǎng)頁提交 頁面重定向頁面重定向(頁面之間的調(diào)用及數(shù)據(jù)傳遞)頁面之間的調(diào)用及數(shù)據(jù)傳遞) 在在C#代碼中利用代碼中利用Response.Redirect(URL)、Server
16、.Execute(URL)和和Server.Transfer(URL)方法。方法。 在頁面中可以采用在頁面中可以采用元素、元素、HyperLink控件;利用控件;利用Button控件方式也可以實現(xiàn)跨網(wǎng)頁提交??丶绞揭部梢詫崿F(xiàn)跨網(wǎng)頁提交。 Web開發(fā)技術(shù)23區(qū)分區(qū)分Response.Redirect()、Server.Execute()和和Server.Transfer() Redirect()方法盡管在服務(wù)器端執(zhí)行,但重定向?qū)嶋H發(fā)方法盡管在服務(wù)器端執(zhí)行,但重定向?qū)嶋H發(fā)生在客戶端,可從瀏覽器地址欄中看到地址變化;而生在客戶端,可從瀏覽器地址欄中看到地址變化;而Execute()和和Transf
17、er()方法的重定向?qū)嶋H發(fā)生在服務(wù)器方法的重定向?qū)嶋H發(fā)生在服務(wù)器端,在瀏覽器的地址欄中看不到地址變化。端,在瀏覽器的地址欄中看不到地址變化。 Redirect()和和Transfer()方法執(zhí)行完新網(wǎng)頁后,并不返回方法執(zhí)行完新網(wǎng)頁后,并不返回原網(wǎng)頁;而原網(wǎng)頁;而Execute()方法執(zhí)行完新網(wǎng)頁后會返回原網(wǎng)頁方法執(zhí)行完新網(wǎng)頁后會返回原網(wǎng)頁繼續(xù)執(zhí)行。繼續(xù)執(zhí)行。Web開發(fā)技術(shù)24(續(xù)) Redirect()方法可重定向到同一網(wǎng)站的不同網(wǎng)頁,也可方法可重定向到同一網(wǎng)站的不同網(wǎng)頁,也可重定向到其它網(wǎng)站的網(wǎng)頁;而重定向到其它網(wǎng)站的網(wǎng)頁;而Execute()和和Transfer()方方法只能重定向到同一網(wǎng)
18、站的不同網(wǎng)頁。法只能重定向到同一網(wǎng)站的不同網(wǎng)頁。 利用利用Redirect()方法在不同網(wǎng)頁之間傳遞數(shù)據(jù)時,采用方法在不同網(wǎng)頁之間傳遞數(shù)據(jù)時,采用查詢字符串形式;而查詢字符串形式;而Execute()和和Transfer()方法傳遞數(shù)方法傳遞數(shù)據(jù)方式與據(jù)方式與Button按鈕按鈕相同。相同。Web開發(fā)技術(shù)25Button控件方式控件方式 在實現(xiàn)跨網(wǎng)頁提交時,需要將源網(wǎng)頁上在實現(xiàn)跨網(wǎng)頁提交時,需要將源網(wǎng)頁上Button控件的屬性控件的屬性PostBackUrl值設(shè)置為目標(biāo)網(wǎng)頁路值設(shè)置為目標(biāo)網(wǎng)頁路徑。而徑。而在目標(biāo)頁上在目標(biāo)頁上,需要在頁面頭部添加,需要在頁面頭部添加PreviousPageTyp
19、e指令,設(shè)置屬性指令,設(shè)置屬性VirtualPath值為源網(wǎng)頁路徑,如:值為源網(wǎng)頁路徑,如:Web開發(fā)技術(shù)26 從目標(biāo)網(wǎng)頁訪問源網(wǎng)頁中數(shù)據(jù)的方法從目標(biāo)網(wǎng)頁訪問源網(wǎng)頁中數(shù)據(jù)的方法1、利用、利用PreviousPage.FindControl(ID)方法訪方法訪問源網(wǎng)頁上的控件;問源網(wǎng)頁上的控件;2、在源網(wǎng)頁上定義公共屬性,再在目標(biāo)網(wǎng)頁、在源網(wǎng)頁上定義公共屬性,再在目標(biāo)網(wǎng)頁上利用上利用“PreviousPage.屬性名屬性名”獲取源網(wǎng)頁獲取源網(wǎng)頁中數(shù)據(jù)。中數(shù)據(jù)。 Button控件方式(續(xù))控件方式(續(xù))Web開發(fā)技術(shù)27實例實例6-6 跨網(wǎng)頁提交應(yīng)用跨網(wǎng)頁提交應(yīng)用 在在Cross1.aspx中輸入
20、中輸入“用戶名、密碼用戶名、密碼”后單擊后單擊“確定確定”,此時頁,此時頁面提交到面提交到Cross2.aspx,在該頁面中顯示,在該頁面中顯示Cross1.aspx中輸入的數(shù)中輸入的數(shù)據(jù)信息。據(jù)信息。 源程序:源程序:Cross1.aspx (P141) 源程序:源程序:Cross2.aspx Cross1 中定義公共屬性中定義公共屬性Name,在,在Cross2中利用中利用“PreviousPage. Name”獲取源網(wǎng)頁中數(shù)據(jù)。獲取源網(wǎng)頁中數(shù)據(jù)。 利用利用PreviousPage.FindControl()方法訪問源網(wǎng)頁上的控件方法訪問源網(wǎng)頁上的控件Web開發(fā)技術(shù)28Cross1.asp
21、xasp:Label ID=“Label1” runat=“server” Text=“用戶名:用戶名:” Cross1.aspx.cspublic partial class chap6_Cross1 : System.Web.UI.Page public string Name /公共屬性公共屬性Name,獲取用戶名文本框中內(nèi)容獲取用戶名文本框中內(nèi)容 get return txtName.Text; Web開發(fā)技術(shù)29Cross2.aspx Cross2.aspx.csprotected void Page_Load(object sender, EventArgs e) /判斷是否為判斷
22、是否為Button跨網(wǎng)頁提交跨網(wǎng)頁提交 if (PreviousPage.IsCrossPagePostBack=true) /通過公共屬性獲取值通過公共屬性獲取值 lblMsg.Text = 用戶名:用戶名: + PreviousPage.Name + ; /先通過先通過FindControl()找到源頁中控件,再利用控件屬性獲找到源頁中控件,再利用控件屬性獲 取值取值 TextBox txtPassword = (TextBox)PreviousPage.FindControl(txtPassword); lblMsg.Text += 密碼:密碼: + txtPassword.Text;
23、從這個例子中得到什么啟示?從這個例子中得到什么啟示?Web開發(fā)技術(shù)30Server.Execute() 和和Server.Transfer()方法也是通方法也是通過過 PreviousPage訪問源網(wǎng)頁,如何與訪問源網(wǎng)頁,如何與Button區(qū)分?區(qū)分? PreviousPage. IsCrossPagePostBack的值。如的值。如果是果是Button跨網(wǎng)頁提交,那么屬性跨網(wǎng)頁提交,那么屬性IsCrossPagePostBack值為值為true;如果是調(diào)用;如果是調(diào)用Server.Execute()或或Server.Tranfer()方法,那方法,那么屬性么屬性IsCrossPagePost
24、Back值為值為false。 Web開發(fā)技術(shù)316.5 狀態(tài)管理狀態(tài)管理 客戶端狀態(tài)客戶端狀態(tài)是指網(wǎng)頁系統(tǒng)的一些信息保留在客戶端計算是指網(wǎng)頁系統(tǒng)的一些信息保留在客戶端計算機上。機上。 服務(wù)器端狀態(tài)服務(wù)器端狀態(tài)是指網(wǎng)頁系統(tǒng)的一些數(shù)據(jù)保存于服務(wù)器。是指網(wǎng)頁系統(tǒng)的一些數(shù)據(jù)保存于服務(wù)器。 客戶端狀態(tài)由于狀態(tài)數(shù)據(jù)保存在客戶端,所以不消耗服客戶端狀態(tài)由于狀態(tài)數(shù)據(jù)保存在客戶端,所以不消耗服務(wù)器內(nèi)存資源,但容易泄露數(shù)據(jù)信息,安全性較差。務(wù)器內(nèi)存資源,但容易泄露數(shù)據(jù)信息,安全性較差。 服務(wù)器端狀態(tài)將消耗服務(wù)器端內(nèi)存資源,但具有較高的服務(wù)器端狀態(tài)將消耗服務(wù)器端內(nèi)存資源,但具有較高的安全性。安全性。Web開發(fā)技術(shù)3
25、2 禁用禁用ViewState:屬性:屬性EnableViewState設(shè)置為設(shè)置為false 。 禁止整個網(wǎng)頁的禁止整個網(wǎng)頁的ViewState:使用:使用Page指令。指令。1、 客戶端狀態(tài)客戶端狀態(tài)ViewState 又稱為視圖狀態(tài),在瀏覽器中選擇又稱為視圖狀態(tài),在瀏覽器中選擇“查看查看”“源文件源文件”可查看可查看ViewState。 Web開發(fā)技術(shù)332、客戶端狀態(tài)客戶端狀態(tài)Cookie 保存到客戶端硬盤或內(nèi)存中的一小段文本信息,如保存到客戶端硬盤或內(nèi)存中的一小段文本信息,如站點、客戶、會話等有關(guān)的信息。站點、客戶、會話等有關(guān)的信息。 用戶訪問不同站點時,各個站點都可能會向用戶的用戶
26、訪問不同站點時,各個站點都可能會向用戶的瀏覽器發(fā)送一個瀏覽器發(fā)送一個Cookie,瀏覽器會分別存儲所有的,瀏覽器會分別存儲所有的Cookie。 Cookie文本文件存儲于文本文件存儲于“盤符盤符: Documents and SettingsCookies”文件夾文件夾 。 ASP.NET提供提供System.Web.HttpCookie類來處理類來處理Cookie,常用的屬性是,常用的屬性是Value和和Expires。 可以在客戶端修改可以在客戶端修改Cookie設(shè)置和禁用設(shè)置和禁用Cookie。 Web開發(fā)技術(shù)343、服務(wù)器端狀態(tài)服務(wù)器端狀態(tài)Session 又稱會話狀態(tài),用戶訪問網(wǎng)站,就
27、會產(chǎn)生一個又稱會話狀態(tài),用戶訪問網(wǎng)站,就會產(chǎn)生一個Session對象,對象, ASP.NET用一個唯一的用一個唯一的120位位Session ID來標(biāo)識每一個會話。來標(biāo)識每一個會話。 典型的應(yīng)用有儲存用戶信息、多網(wǎng)頁間信息傳遞、購物車等。典型的應(yīng)用有儲存用戶信息、多網(wǎng)頁間信息傳遞、購物車等。 從用戶開始訪問網(wǎng)站時計時,當(dāng)計時達(dá)到會話設(shè)定時間并且從用戶開始訪問網(wǎng)站時計時,當(dāng)計時達(dá)到會話設(shè)定時間并且期間沒有訪問操作時,則會話自動結(jié)束。如果同一個用戶在期間沒有訪問操作時,則會話自動結(jié)束。如果同一個用戶在瀏覽期間關(guān)閉瀏覽器后再訪問同一個網(wǎng)頁,服務(wù)器會為該用瀏覽期間關(guān)閉瀏覽器后再訪問同一個網(wǎng)頁,服務(wù)器會
28、為該用戶產(chǎn)生新的戶產(chǎn)生新的Session。 Session是是System.Web.HttpSessionState類的實例,是類的實例,是Page類的類的屬性。屬性。Web開發(fā)技術(shù)35 HttpSessionState常用的屬性、方法和事件表常用的屬性、方法和事件表 Global.asaxGlobal.asax文件在網(wǎng)站所在的目錄中,與首頁在同一個文件在網(wǎng)站所在的目錄中,與首頁在同一個文件夾。右擊網(wǎng)站文件夾,選擇文件夾。右擊網(wǎng)站文件夾,選擇“添加新項添加新項”,再選擇,再選擇“全局應(yīng)用程序類全局應(yīng)用程序類”,按,按“添加添加”。Web開發(fā)技術(shù)36 Session狀態(tài)(變量)的定義與賦值:狀態(tài)
29、(變量)的定義與賦值:Session“Name”=“張林張林”;Session.Contents“Name”=“張林張林”; 注意:注意:Session使用的名稱不區(qū)分大小寫,因此不要使用的名稱不區(qū)分大小寫,因此不要用大小寫區(qū)分不同變量。用大小寫區(qū)分不同變量。 實例實例6-8 Session應(yīng)用應(yīng)用 本實例能保護(hù)某些網(wǎng)頁,如要進(jìn)入本實例能保護(hù)某些網(wǎng)頁,如要進(jìn)入Session.aspx頁面,頁面,則首先要通過登錄認(rèn)證。則首先要通過登錄認(rèn)證。 源程序:源程序:Session.aspx (P149)Web開發(fā)技術(shù)37 程序說明:程序說明: 當(dāng)用戶直接訪問當(dāng)用戶直接訪問Session.aspx時,會判
30、斷時,會判斷SessionName狀態(tài)值,若為空則重定向到狀態(tài)值,若為空則重定向到SessionLogin.aspx,否則顯示歡迎信息。,否則顯示歡迎信息。 在在SessionLogin.aspx中用戶登錄成功后,將建立中用戶登錄成功后,將建立Session“Name”狀態(tài)值。此時要測試是否存在狀態(tài)值。此時要測試是否存在Session“Name”狀態(tài)值,應(yīng)在打開狀態(tài)值,應(yīng)在打開SessionLogin.aspx頁面的瀏覽器頁面的瀏覽器中直接更改地址來訪中直接更改地址來訪問問Session.aspx。繼續(xù)運行其它網(wǎng)頁,保持在同一個繼續(xù)運行其它網(wǎng)頁,保持在同一個會話期。主要代碼說明:會話期。主要代
31、碼說明:Web開發(fā)技術(shù)38 / Session.aspx / Session.aspx.cs protected void Page_Load(object sender, EventArgs e) if (SessionName != null) lblMsg.Text = SessionName + ,歡迎您!,歡迎您!; else Response.Redirect(SessionLogin.aspx); Web開發(fā)技術(shù)39 / SessionLogin.aspx及及cs代碼代碼 protected void btnSubmit_Click(object sender, EventArg
32、s e) if (txtName.Text = ssg & txtPassword.Text = 111) SessionName = ssg; /response.redirect() Web開發(fā)技術(shù)40 / TestSession.aspx及及cs代碼代碼 鏈接一鏈接一 鏈接二鏈接二 鏈接三鏈接三 protected void Page_Load(object sender, EventArgs e) Session“userid” =“Gary111”; / session1.aspx、session2.aspx、session3.aspx cs代碼代碼 protected vo
33、id Page_Load(object sender, EventArgs e) Response.Write(“用戶名為:用戶名為:”+Session“userid”; / 通過點擊超鏈接通過點擊超鏈接Session“userid”的值被傳到各個鏈接頁面上。的值被傳到各個鏈接頁面上。Web開發(fā)技術(shù)414、Application(對象)(對象)又稱應(yīng)用程序狀態(tài),與應(yīng)用于單個用戶的又稱應(yīng)用程序狀態(tài),與應(yīng)用于單個用戶的Session狀態(tài)不同,它應(yīng)用于所有的用戶。狀態(tài)不同,它應(yīng)用于所有的用戶。 在網(wǎng)站運行時存在,網(wǎng)站關(guān)閉時將被釋放在網(wǎng)站運行時存在,網(wǎng)站關(guān)閉時將被釋放。因此,如果需要將狀態(tài)數(shù)據(jù)保存下來
34、,則適因此,如果需要將狀態(tài)數(shù)據(jù)保存下來,則適宜保存在數(shù)據(jù)庫中。宜保存在數(shù)據(jù)庫中。 是是System.Web.HttpApplicationState類的實類的實例。例。 Web開發(fā)技術(shù)42 ApplicationApplication是面對所有用戶的,當(dāng)要修改是面對所有用戶的,當(dāng)要修改ApplicationApplication狀態(tài)值時,首先要調(diào)用狀態(tài)值時,首先要調(diào)用Application.Lock()Application.Lock()方法鎖定,值修改后再調(diào)用方法鎖定,值修改后再調(diào)用Application.UnLock()Application.UnLock()方法解除鎖定。方法解除鎖定。
35、Application.Lock();Application.Lock(); ApplicationCountApplicationCount = (int)ApplicationCount + 1; = (int)ApplicationCount + 1; Application.UnLock(); Application.UnLock(); 與與ApplicationApplication相關(guān)的事件主要有相關(guān)的事件主要有Application_StartApplication_Start、Application_EndApplication_End與與SessionSession類類似,這
36、些事件代碼都存放于似,這些事件代碼都存放于Global.asaxGlobal.asax文件中。文件中。 Web開發(fā)技術(shù)43實例實例6-9 統(tǒng)計網(wǎng)站在線人數(shù)統(tǒng)計網(wǎng)站在線人數(shù) 頁面呈現(xiàn)網(wǎng)站在線人數(shù)。需考慮頁面呈現(xiàn)網(wǎng)站在線人數(shù)。需考慮3個方面:初始化計個方面:初始化計數(shù)器;當(dāng)一個用戶訪問網(wǎng)站時,計數(shù)器增數(shù)器;當(dāng)一個用戶訪問網(wǎng)站時,計數(shù)器增1;當(dāng)一個;當(dāng)一個用戶離開網(wǎng)站時,計數(shù)器減用戶離開網(wǎng)站時,計數(shù)器減1。 初始化計數(shù)器要利用初始化計數(shù)器要利用Application_Start事件,并在事事件,并在事件代碼中定義件代碼中定義Application狀態(tài)。用戶訪問網(wǎng)站時增狀態(tài)。用戶訪問網(wǎng)站時增加計數(shù)要利用加計數(shù)要利用Session_Start事件,并在事件代碼中增事件,并在事件代碼中增加加Application狀態(tài)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版人力資源人員勞動合同書
- 2024年私人汽車充電樁安裝及維護(hù)服務(wù)合同范本3篇
- 2025年變壓器租賃與電力工程總承包服務(wù)合同3篇
- 二零二五年度出租車運營權(quán)轉(zhuǎn)讓合同3篇
- 2025年度鋁合金門窗安裝工程監(jiān)理合同3篇
- 2025年度大理石樓梯踏步定制安裝合同范本3篇
- 2025年度風(fēng)力發(fā)電場土地承包租賃協(xié)議3篇
- 2025年智慧醫(yī)療項目服務(wù)合同協(xié)議書:遠(yuǎn)程醫(yī)療服務(wù)合作3篇
- 二零二五年度腳手架建筑工程維修保養(yǎng)合同范本3篇
- 二手房租借轉(zhuǎn)讓合同范本(2024年修訂版)版B版
- 通用電子嘉賓禮薄
- GB/T 16407-2006聲學(xué)醫(yī)用體外壓力脈沖碎石機的聲場特性和測量
- 簡潔藍(lán)色科技商業(yè)PPT模板
- 錢素云先進(jìn)事跡學(xué)習(xí)心得體會
- 道路客運車輛安全檢查表
- 宋曉峰辣目洋子小品《來啦老妹兒》劇本臺詞手稿
- 附錄C(資料性)消防安全評估記錄表示例
- 噪音檢測記錄表
- 推薦系統(tǒng)之協(xié)同過濾算法
- 提高筒倉滑模施工混凝土外觀質(zhì)量QC成果PPT
- 小學(xué)期末班級頒獎典禮動態(tài)課件PPT
評論
0/150
提交評論