1. 程式人生 > >Application、Session和Cookie區別

Application、Session和Cookie區別

1.Application物件 
    Application用於儲存所有使用者的公共的資料資訊,如果使用Application物件,一個需要考慮的問題是任何寫操作都要在Application_OnStart事件(global.asax)中完成.儘管使用Application.Lock和Applicaiton.Unlock方法來避免寫操作的同步,但是它序列化了對Application物件的請求,當網站訪問量大的時候會產生嚴重的效能瓶頸.因此最好不要用此物件儲存大的資料集合

2.Session物件
    Session用於儲存每個使用者的專用資訊.她的生存期是使用者持續請求時間再加上一段時間(一般是20分鐘左右).Session中的資訊儲存在Web伺服器內容中,儲存的資料量可大可小.當Session超時或被關閉時將自動釋放儲存的資料資訊.由於使用者停止使用應用程式後它仍然在記憶體中保持一段時間,因此使用Session物件使儲存使用者資料的方法效率很低.對於小量的資料,使用Session物件儲存還是一個不錯的選擇.使用Session物件儲存資訊的程式碼如下:

//存放資訊
Session["username"]="zhouhuan";
//讀取資料
string UserName=Session["username"].ToString();

   3.Cookie物件
    Cookie用於儲存客戶瀏覽器請求伺服器頁面的請求資訊,程式設計師也可以用它存放非敏感性的使用者資訊,資訊儲存的時間可以根據需要設定.如果沒有設定Cookie失效日期,它們僅儲存到關閉瀏覽器程式為止.如果將Cookie物件的Expires屬性設定為Minvalue,則表示Cookie永遠不會過期.Cookie儲存的資料量很受限制,大多數瀏覽器支援最大容量為4096,因此不要用來儲存資料集及其他大量資料.由於並非所有的瀏覽器都支援Cookie,並且資料資訊是以明文文字的形式儲存在客戶端的計算機中,因此最好不要儲存敏感的,未加密的資料,否則會影響網站的安全性.使用Cookie物件儲存的程式碼如下:

//存放資訊
Response.Cookies["UserID"].Value="0001";
//讀取資訊
string UserID=Response.Cookies["UserID"].Value;