程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 詳解ASP.NET 狀態管理方式優缺點

詳解ASP.NET 狀態管理方式優缺點

編輯:.NET實例教程

現在ASP.NET程序員可以使用很多種方式來保存用戶請求信息。下面主要介紹ASP.Net關於狀態管理的幾種方式。

  一般而言,HTTP協議是非狀態服務,它不保存任何用戶請求信息。直至NetScape開始使用CookIEs來保存用戶請求信息,Web應用程序有了極大的發展。現在ASP.Net程序員可以使用很多種方式來保存用戶請求信息。

  下面主要介紹ASP.Net關於狀態管理的幾種方式。

  客戶端

  ASP.NET,提供了Cookies, QueryStrings (URL), Hidden fields, VIEw State and Control state (ASP.Net 2.0),來管理客戶端請求。

  一 CookIE

  Cookie是以文本存儲於計算機中,使用name-value匹配。一般用戶存儲標識用戶信息,如:用戶名,用戶使用配置等。雖然Cookie可以被加密存儲,但不推薦在Cookie中保存用戶密碼。第二,CookIE的大小是限定的,所以不適合存儲大型數據。

  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!";

  2.設置CookIE

Response.CookIEs["UserId"].Value=username;

  優點:

  使用簡單

  缺點:

  1.客戶端可以禁用CookIE

  2.CookIE在每次請求或發送時都會被加載,影響傳輸。

  3.易被攻破,所有不適合存儲安全信息。

  二 Hidden fIElds(隱藏控件)

  Hidden field是在頁面級保存信息。與其他用戶標准控件的區別是,Hidden Field不被呈現在頁面中。當頁面提交的時候,Hidden FIEld中的值將被一同發送給服務端。雖有在ASP.Net 2.0中,我們可以使用ViewState來代替,但Hidden FIElds依然可以用來存放一些不關鍵信息。

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; 

  優點:

  1.使用簡單

  2.可以存儲少量數據

  缺點:

  1.不安全,以明文的形式直接從網絡傳輸

  三 VIEw State(狀態視圖)

  狀態視圖VIEwSate,可以用來為單獨用戶存儲信息。你可以通過設置EnableViewState屬性來控制ViewState的使用,在默認的情況下屬性值為True.VIEwSate在每次用戶請求或服務端響應時,都會被傳輸。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved