編程高手 ASP.NET 狀態(tài)管理_.Net教程
推薦:讓ASP.NET程序自動為URL加上超級鏈接作為一個程序員,在完成設計后還要根據(jù)程序的情況以及用戶的反映不斷對程序進行改進,這樣才能不斷地完善自己的作品。我在制作完軟件商務網(wǎng) 的論壇后,發(fā)現(xiàn)人們總喜歡在帖子中加上各種有用的URL
一般而言,HTTP協(xié)議是非狀態(tài)服務,它不保存任何用戶請求信息。直至NetScape開始使用Cookies來保存用戶請求信息,Web應用程序有了極大的發(fā)展。現(xiàn)在ASP.NET程序員可以使用很多種方式來保存用戶請求信息。
下面主要介紹ASP.NET關(guān)于狀態(tài)管理的幾種方式。
客戶端
ASP.NET,提供了Cookies, QueryStrings (URL), Hidden fields, View State and Control state (ASP.NET 2.0),來管理客戶端請求。
一。Cookie
Cookie是以文本存儲于計算機中,使用name-value匹配。一般用戶存儲標識用戶信息,如:用戶名,用戶使用配置等。雖然Cookie可以被加密存儲,但不推薦在Cookie中保存用戶密碼。第二,Cookie的大小是限定的,所以不適合存儲大型數(shù)據(jù)。
Example:
1。獲取用戶ID
| if (Request.Cookies["UserId"] != null) lbMessage.text = "Dear" Request.Cookies["UserId"].Value ", Welcome to our website!"; else lbMessage.text = "Guest,welcome to our website!"; |
| Response.Cookies["UserId"].Value=username; |
使用簡單
缺點:
1�?蛻舳丝梢越肅ookie
2。Cookie在每次請求或發(fā)送時都會被加載,影響傳輸。
3。易被攻破,所有不適合存儲安全信息。
二。Hidden fields(隱藏控件)
Hidden field是在頁面級保存信息。與其他用戶標準控件的區(qū)別是,Hidden Field不被呈現(xiàn)在頁面中。當頁面提交的時候,Hidden Field中的值將被一同發(fā)送給服務端。雖有在ASP.NET 2.0中,我們可以使用ViewState來代替,但Hidden Fields依然可以用來存放一些不關(guān)鍵信息。
|
protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden1; //to assign a value to Hidden field Hidden1.Value="Create hidden fields"; //to retrieve a value string str=Hidden1.Value; |
優(yōu)點:
1。使用簡單
2。可以存儲少量數(shù)據(jù)
缺點:
1。不安全,以明文的形式直接從網(wǎng)絡傳輸
三。View State(狀態(tài)視圖)
狀態(tài)視圖ViewSate,可以用來為單獨用戶存儲信息。你可以通過設置EnableViewState屬性來控制ViewState的使用,在默認的情況下屬性值為True。ViewSate在每次用戶請求或服務端響應時,都會被傳輸。所以,為了減少網(wǎng)絡帶寬的使用,可以在不需要狀態(tài)視圖時設置EnableViewState屬性值為False。ViewSate在頁面中的存儲是經(jīng)過Base64轉(zhuǎn)碼的,增加了額外的數(shù)據(jù)量,所以一定要注意保存較少的ViewSate。
分享:用ASP.Net實現(xiàn)在線壓縮和解壓縮我們經(jīng)常會遇到批量上傳的問題,也會遇到將某個目錄下所有文件都上傳到服務器上的問題。那么,如何解決此類問題呢?以前的技術(shù)一般采用ActiveX等方式,這里筆者采用SharpZlib來實現(xiàn),聽說VS2005
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-編程高手 ASP.NET 狀態(tài)管理
。