標籤:style blog http io ar color os 使用 sp
方法 |
資訊量大小 |
儲存時間 |
應用範圍 |
儲存位置 |
Application |
任意大小 |
整個應用程式的生命期 |
所有使用者 |
伺服器端 |
Session |
小量,簡單的資料 |
使用者啟用時間+一段延遲時間(一般為20分鐘) |
單個使用者 |
伺服器端 |
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;
APPlication,Session和Cookie的區別