成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解ASP.NET常用狀態(tài)管理

開(kāi)發(fā) 后端
本文介紹ASP.NET常用狀態(tài)管理,包括視圖狀態(tài)View state、隱藏域 Hidden Fields、Cookies、Query string和Application state等。

ASP.NET常用狀態(tài)管理方案有:
◆視圖狀態(tài)View state
◆隱藏域 Hidden Fields
◆Cookies
◆Query string
◆Application state
◆Session state
◆Profile

ASP.NET常用狀態(tài)管理其中View state, hidden fields, cookies, and query strings將值以不同的方式保存在客戶端。而application state, session state, and profile則在服務(wù)器端將值以不同的形式保存起來(lái)。

視圖狀態(tài)(View state)

View state會(huì)自動(dòng)保存web頁(yè)面各個(gè)元素的值,只要控件的EnableViewState=true. ViewState以鍵值對(duì)的形式存儲(chǔ)元素的值.在asp.net中,view state的值是以隱藏域的形式通過(guò)哈希的方法存儲(chǔ)在頁(yè)面中,形同:

  1. <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value=
    "/wEPDwUJNzgzNDMwNTMzZGTN7+FHXsyXJ2Jnzu0UxkEXCEetrg==" /> 

如果使用View state來(lái)存儲(chǔ)數(shù)據(jù),那么數(shù)據(jù)的大小不能超過(guò)page的MaxPageStateFieldLength定義的值.
◆優(yōu)點(diǎn):無(wú)需服務(wù)器端資源,由于view state是保存在頁(yè)面中的,所以無(wú)需借用服務(wù)器端資源保存值的問(wèn)題.使用簡(jiǎn)易,只須以鍵值對(duì)的形式即可保存元素的值.安全性方面由于view state保存的值是經(jīng)哈希處理并且壓縮過(guò)的,所以使用起來(lái)要比Hidden Fields安全.
◆缺點(diǎn):性能問(wèn)題,正因?yàn)関iew state將值保存在Page中,因此每次在加載頁(yè)面過(guò)程中都會(huì)去裝載view state中保存的值,因此帶來(lái)性能的損耗.
安全問(wèn)題,雖然view state保存的值是經(jīng)哈希處理并且壓縮處理的,但在頁(yè)面中仍然以hidden fields的形式存在,仍然易被黑客截取并利用.

隱藏域(Hidden Fields):

這是古老的asp保存元素值的一種方式.使用Hidden Fields取決于頁(yè)面提交數(shù)據(jù)的方式.必須通過(guò)Post方法提交,才能取得Hidden Fields的值,如果使用Http的 Get方法,則該Hidden元素的值無(wú)效。

Hidden Fields另外一個(gè)特點(diǎn)就是,它保存元素的值在Html代碼中是以明文的方式保存的。可以很方便地查看頁(yè)面html源代碼得到hidden fields元素的值。
◆優(yōu)點(diǎn):使用方便, 適用范圍廣,幾乎所有的瀏覽器和客戶端設(shè)備都支持hidden fields這種形式.
◆缺點(diǎn):非常不安全、只能存儲(chǔ)非常簡(jiǎn)單的數(shù)據(jù),如string類型、性能問(wèn)題,使用hidden fields如同view state一樣每次頁(yè)面顯示都要加載.

Cookies

Cookies也是在客戶端存儲(chǔ)數(shù)據(jù)的一種形式。Cookies可以長(zhǎng)期保存數(shù)據(jù),也可以暫時(shí)保存數(shù)據(jù),這依賴于cookies的過(guò)期時(shí)間設(shè)置。Cookies對(duì)應(yīng)的作用范圍是整個(gè)web站點(diǎn),而不是某個(gè)頁(yè)面,它依賴于瀏覽器進(jìn)行管理,如果客戶端瀏覽器禁用Cookies,那么就無(wú)法啟用Cookies在客戶端保存數(shù)據(jù)。Cookies伴隨著頁(yè)面的請(qǐng)求將數(shù)據(jù)發(fā)送到服務(wù)器端,它的值可以通過(guò)Request來(lái)獲取。大多數(shù)瀏覽器支持Cookies能夠存放4M字節(jié)的數(shù)據(jù),同時(shí)瀏覽器對(duì)機(jī)器能夠容納的Cookies數(shù)也有限制,一般地,允許每個(gè)站點(diǎn)最多可以產(chǎn)生20個(gè)Cookies。

讀取Cookies的值:

  1. if (Request.Cookies["UserSettings"] != null)  
  2. {  
  3. string userSettings;  
  4. if (Request.Cookies["UserSettings"]["Font"] != null)  
  5. userSettings = Request.Cookies["UserSettings"]["Font"]; }  
  6. }  
  7. 向Cookies寫值:  
  8. Response.Cookies["UserSettings"]["Font"] = "Arial";  
  9. Response.Cookies["UserSettings"]["Color"] = "Blue";  
  10. Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d); 

◆優(yōu)點(diǎn):可以配置過(guò)期時(shí)間、無(wú)需占用服務(wù)器端資源、簡(jiǎn)單易用、也可以保持持久數(shù)據(jù)
◆缺點(diǎn):大小限制,大多數(shù)瀏覽器置支持4M字節(jié)。受到用戶配置限制,如果瀏覽器禁用Cookies,那么該項(xiàng)功能就沒(méi)法使用、潛在的安全隱患。 由于Cookies是以文本文件的形式存放在客戶端機(jī)器中,雖然Cookies的內(nèi)容經(jīng)過(guò)哈希,但仍然可以被人獲取并利用。

查詢字符串

查詢字符串就是在頁(yè)面的URL后面加上一些參數(shù),通過(guò)這種形式進(jìn)行頁(yè)面之間的值傳遞。它提供了非常方便的頁(yè)面?zhèn)髦捣绞健?BR>◆優(yōu)點(diǎn):
簡(jiǎn)單方便,應(yīng)用非常廣泛
◆缺點(diǎn):極不安全,非常有必要借助于URLEncode和URLDecode對(duì)字符串進(jìn)行處理以增強(qiáng)安全。大小受到限制,一些瀏覽器或客戶端設(shè)備只支持長(zhǎng)度為2083的URL字符串。

Application State

Asp.net允許你以Application state的方式存儲(chǔ)值--它是HttpApplicationState類的一個(gè)實(shí)例。Application state提供一個(gè)全局的存儲(chǔ)方式,可以被web 應(yīng)用程序的每一個(gè)頁(yè)面獲取。Application state和Session State一樣,以鍵值對(duì)的形式存儲(chǔ)值。
◆優(yōu)點(diǎn):全局范圍
◆缺點(diǎn):全局范圍、占用服務(wù)器資源、脆弱性,由于Application State是存儲(chǔ)在內(nèi)存中,因此當(dāng)應(yīng)用程序停止或重啟時(shí)會(huì)丟失。擴(kuò)展性差,無(wú)法在多個(gè)服務(wù)器或多個(gè)處理器之間共享。

Session State

Session State和Application state有點(diǎn)類似,但它作用于瀏覽器的會(huì)話中。如果不同的用戶使用你的應(yīng)用程序會(huì)產(chǎn)生不同的session會(huì)話。Session state也是以鍵/值對(duì)的形式存儲(chǔ)數(shù)據(jù)。 
◆優(yōu)點(diǎn):使用方便、數(shù)據(jù)持久,因?yàn)閍sp.net提供的Session克服了原來(lái)asp進(jìn)程依賴性的缺陷,可以將Session保存在數(shù)據(jù)庫(kù)中,因此session的數(shù)據(jù)***不會(huì)丟失。無(wú)需Cookies支持,這也是asp.net的一大改進(jìn)之處,可以在ASP.NET中客戶端的Session信息以Cookieless方式存儲(chǔ)。
◆缺點(diǎn):由于Session變量存儲(chǔ)在服務(wù)器端,因此占用服務(wù)器端資源。

Profile

以Profile的形式存儲(chǔ)數(shù)據(jù)是asp.net2.0提供的一個(gè)新功能。它是將信息存儲(chǔ)在數(shù)據(jù)庫(kù)中的,因此***不會(huì)丟失信息。
◆優(yōu)點(diǎn):數(shù)據(jù)持久性、可擴(kuò)展
◆缺點(diǎn):由于profile將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此存在以下特點(diǎn),需要人工維護(hù)數(shù)據(jù),性能略差

以上介紹ASP.NET常用狀態(tài)管理。

【編輯推薦】

  1. ASP.NET開(kāi)發(fā)技巧之Theme功能淺析
  2. 詳解ASP.NET動(dòng)態(tài)編譯
  3. Apache支持ASP.NET方法淺析
  4. 淺談ASP.NET服務(wù)器標(biāo)準(zhǔn)控件
  5. ASP.NET中SQL Server數(shù)據(jù)庫(kù)備份恢復(fù)淺析
責(zé)任編輯:佚名 來(lái)源: MSDN
相關(guān)推薦

2009-07-20 14:32:08

2009-08-05 13:50:23

ASP.NET狀態(tài)管理

2009-07-29 16:08:07

ASP和ASP.NET

2009-04-27 10:33:16

ASP.NET視圖狀態(tài)

2009-07-22 16:25:41

ASP.NET AJA

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

2009-07-24 10:14:22

ASP.NET開(kāi)發(fā)

2009-07-23 13:19:51

2009-07-28 11:09:02

ASP.NET狀態(tài)類型

2009-07-28 16:03:23

ASP.NET狀態(tài)服務(wù)

2009-08-04 13:10:05

ASP.NET服務(wù)器控

2009-07-23 13:09:23

2009-08-19 13:44:00

ASP.NET Lis

2009-07-28 13:39:44

加載ViewStateASP.NET

2009-08-04 10:43:59

ASP.NET控件開(kāi)發(fā)

2009-08-04 18:10:35

ASP.NET動(dòng)態(tài)編譯

2009-07-20 17:21:43

Session狀態(tài)ASP.NET

2009-07-24 10:41:00

ASP.NET Ses

2009-07-29 09:53:24

ASP.NET異常管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久精品一级 | 久久久久亚洲精品 | 国产亚洲欧美在线 | 日日操视频 | 色综合久久天天综合网 | 国产成人亚洲精品自产在线 | 精品国产一区二区三区成人影院 | 午夜天堂精品久久久久 | 98成人网| 免费av手机在线观看 | 国产精品高潮呻吟久久av黑人 | 日本三级电影免费观看 | 亚洲精品久久久久久久久久久久久 | 一级午夜aaa免费看三区 | 国产欧美精品一区二区色综合朱莉 | 日韩影音 | 亚洲精品乱码久久久久久按摩 | 91中文字幕在线观看 | 欧美日韩在线一区二区 | 中文字幕成人av | 成人精品一区二区三区中文字幕 | 精品久久久久久久久久 | 亚洲天堂av一区 | 狠狠操天天干 | 精品久久一区 | 久久久久久久久久一区二区 | 黄色免费网 | 中文字幕亚洲视频 | 午夜久草 | 国产精品一二三区 | 国产精品18久久久久久白浆动漫 | 在线欧美 | 欧美a区| 欧美精品在线免费观看 | 亚洲欧美网站 | 亚洲一区二区av | 亚洲视频不卡 | 免费看一级毛片 | 日韩电影一区 | 国产在线观看福利 | 免费高清av |