session常用操作

2022-03-04 12:57:22 字數 1720 閱讀 9855

一、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

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 }

//取出session的值

protected

bool

checkvalidatecode()

}return

issucess;

}

清除session:  session["validatecode"] = null;

session.timeout = 30;
b . aspx檔案使用session,直接 context.session["名稱"] = code; 如 context.session["validatecode"] = code; 

c. ashx檔案以及一些其餘的檔案使用session,必須實現.irequiressessionstate 介面,具體**如下:

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.web;56

namespace724

25public

bool

isreusable

2631}32

}33 }

二、使用session遇到的問題。

使用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 ...