一、session介紹:
1. session和cookie的區別在於,cookie是把資訊儲存在使用者本地的瀏覽器中,而session是把資訊儲存在伺服器端的記憶體中,
2. 瀏覽器向伺服器傳送乙個類鍵值對的資料,同時還會生成乙個sessionid,這樣才會保證資料的正確性。
3 . session的預設有效期為20分鐘
4. session的主要作用是用來登入,登入時需要校驗使用者輸入的使用者名稱和密碼都正確,如果正確,那麼會將使用者的資訊儲存到session中,在需要登入以後才能訪問的頁面中校驗session,如果session有值,說明使用者登入了,繼續訪問頁面,如果沒有值,說明使用者沒有登入,那麼跳轉到登入頁面,讓使用者重新進行登入,防止使用者跨過登陸直接進入主頁面
5. asp後台使用session時可以直接使用,因為該程式繼承了session的介面,但是其餘的需要繼承session
6. 建立和寫入session:
a. 建立session物件
1//取出session的值using
system;
2using
system.collections.generic;
3using
system.linq;
4using
system.web;
5using
system.web.ui;
6using
system.web.ui.webcontrols;78
namespace922
23}24}
25 }
protected清除session: session["validatecode"] = null;bool
checkvalidatecode()
}return
issucess;
}
session.timeout = 30;b . aspx檔案使用session,直接 context.session["名稱"] = code; 如 context.session["validatecode"] = code;
c. ashx檔案以及一些其餘的檔案使用session,必須實現.irequiressessionstate 介面,具體**如下:
1二、使用session遇到的問題。using
system;
2using
system.collections.generic;
3using
system.linq;
4using
system.web;56
namespace724
25public
bool
isreusable
2631}32
}33 }
使用session如果專案比較大,可能會面臨著建立乙個集群,就是指把專案部署在不同的多個機器上,這樣使用者儲存session時可能儲存在a機器中,但是校驗的時候就可能會訪問的是b機器,這樣,session的值就是乙個null值。所以,就需要用到乙個分布式快取,就是指把所有的session值統一放置在乙個伺服器上,比如用到memcache,或許redis。
分布式快取訪問我的此部落格:
session常用物件
1 object getarrtibute string name 獲取與名字name相聯絡的屬性 2 void setarrtibute string name,object 設定指定名字的屬性值,並儲存在session中 3 long getcreationtime 返回session建立時間 ...
Session的常用方法
session物件主要用於屬性操作和會話管理,常用方法如下 1 public void setattribute string name,string value 設定指定名字的屬性的值,並將它新增到session會話範圍內,如果這個屬性是會話範圍內存在,則更改該屬性的值。2 public obje...
php中session常用函式
session start 該函式表明本頁需要使用session,如果不使用該函式,將有可能導致其他函式和session變數無法正常使用,類似於初始化函式。session register 該函式用於註冊普通變數為session變數,如 a 1 session register a session ...