国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

asp.net中session的原理及應用詳解

來源:懂視網 責編:小采 時間:2020-11-27 22:42:17
文檔

asp.net中session的原理及應用詳解

asp.net中session的原理及應用詳解:Session簡介丶特性 -------------------------------------------------------------------------------- 1.Session是一種Web會話中的常用狀態之一。 2.Session提供了一種把信息保存在服務器內存中的方式。他能儲存任何數據類型,包含自定義對象。
推薦度:
導讀asp.net中session的原理及應用詳解:Session簡介丶特性 -------------------------------------------------------------------------------- 1.Session是一種Web會話中的常用狀態之一。 2.Session提供了一種把信息保存在服務器內存中的方式。他能儲存任何數據類型,包含自定義對象。

Session簡介丶特性
--------------------------------------------------------------------------------
1.Session是一種Web會話中的常用狀態之一。
2.Session提供了一種把信息保存在服務器內存中的方式。他能儲存任何數據類型,包含自定義對象。
3.每個客戶端的Seesion是獨立存儲的。
4.在整個會話過程中,只要SessionID的cookie不丟失,都會保存Session信息的。
5.Session不能跨進程訪問,只能由該會話的用戶訪問。應為提取Session數據的id標識是以Cookie的方式保存到訪問者瀏覽器的緩存里的。
6.當會話終止,或過期時,服務器就清除Session對象。
7.Session常用于保存登錄用戶的ID.
8.Session保存的數據是跨頁面全局型的。
--------------------------------------------------------------------------------
Session的使用
--------------------------------------------------------------------------------
這里我寫入一個例子,便于下面闡述。
代碼如下:

<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function getSessionClick(action) { //這個函數是為了知道哪一個提交按鈕被點擊
$("#hidlgc").val(""); //清空隱藏值
$("#hidlgc").val(action); //給隱藏控件賦值
}
</script>
</head>
<body>
<form id="form1" method="post" action="MySession.aspx">
<table>
<tr>
<td>賬號:</td><td><input type="text" name="txtUid" /></td>`
</tr>
<tr>
<td>密碼:</td><td><input type="password" name="txtPwd" /></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" value="" id="hidlgc" name="hidlgclick" />
<input onclick="getSessionClick('lgclick')" type="submit" value="登錄" />
<input type="submit" onclick="getSessionClick('getSession')" value="獲取session" />
<input type="submit" onclick="getSessionClick('backLg')" value="退出登錄" />
</td>
</tr>
</table>
</form>
</body>

代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
//把用戶id寫入session中
if (Request.Form["hidlgclick"] == "lgclick")
{
if(Request.Form["txtUid"].ToString()=="admin"&&Request.Form["txtUid"].ToString()=="admin") //判斷用戶登錄
{
Session["userName"] = Request.Form["txtUid"].ToString(); //把用戶id保存到session中
Response.Write(Session["userName"].ToString()+"---點擊登錄"); //獲取session,并寫入頁面
}
}
//獲取Session
if (Request.Form["hidlgclick"] == "getSession")
{
if (Session["userName"] != null)
{
Response.Write(Session["userName"].ToString() + "---點擊獲取session"); //獲取session,并寫入頁面
}
}
//取消當前會話,相當于注銷(退出登錄)。
if (Request.Form["hidlgclick"] == "backLg")
{
Session.Abandon();
}
}

代碼如下:

<system.web>
<sessionState timeout="40"></sessionState> <!---設置session的過期時間,時間以分鐘為單位-->
 

Session原理(根據上面例子闡述)
--------------------------------------------------------------------------------
一、session是怎么存儲,提取的?
1.在服務器端有一個session池,用來存儲每個用戶提交session中的數據,Session對于每一個客戶端(或者說瀏覽器實例)是“人手一份”,用戶首次與Web服務器建立連接的時候,服務器會給用戶分發一個SessionID作為標識。SessionID是一個由24個字符組成的隨機字符串。用戶每次提交頁面,瀏覽器都會把這個SessionID包含在HTTP頭中提交給Web服務器,這樣Web服務器就能區分當前請求頁面的是哪一個客戶端,而這個SessionID是一cookie的方式保存的在客戶端的內存中的,如果想要得到Session池中的數據,服務器就會根據客戶端提交的唯一SessionID標識給出相應的數據返回。
2.輸入正確的賬號密碼,點擊登錄,頁面就會
輸出 “admin --- 點擊登錄”
二、Session池中每個客戶端的數據是怎么存儲的?
1.存儲在Session池中的數據是全局型的數據,可以跨頁面訪問,每個SessionID中只存儲唯一的數據,如:首先你這樣設定:session["userName"]="admin",然后你在會話還沒結束的session還沒過期的情況下,你又設定:session["userName"]="123";這樣這個SessionID沒變,然而Session池中的數據則被覆蓋。此時session["userName"]的值就是“123”,而不是其它。
2.Session池中的數據不能跨進程訪問。如:打開login.aspx頁面寫入session[“userName”]="admin";然后login頁面不關閉,即此會話不結束,在這是你再在另外一個瀏覽器中打開一個login.aspx頁面則session["userName"]=null
3.輸入賬號密碼,點擊登錄頁面輸出 “admin --- 點擊登錄” ,如果緊接著點擊獲取session按鈕,則頁面只輸出"admin--- 點擊獲取session",如果頁面不關閉,打開另外一個瀏覽器,點擊獲取session按鈕,則頁面沒法應。
三丶session的聲明周期與銷毀
1.session存儲數據計時是滾動計時方式。具體是這樣的,如果你打開寫入session,從寫入開始,此頁面如果一直沒有提交操作,則默認時間是20分鐘,20分鐘后session被服務器自動銷毀,如過有提交操作,服務器會從提交后重新計時以此類推,直至設定時間內銷毀。
2.可以設置session的銷毀時間。上面代碼有提到。
四丶session中保存的數據是在服務端的,而每個用戶如進行登錄操作,都要進行session數據寫入,所以建議慎用session,就是少用。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

asp.net中session的原理及應用詳解

asp.net中session的原理及應用詳解:Session簡介丶特性 -------------------------------------------------------------------------------- 1.Session是一種Web會話中的常用狀態之一。 2.Session提供了一種把信息保存在服務器內存中的方式。他能儲存任何數據類型,包含自定義對象。
推薦度:
標簽: 中的 原理 及應用
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 在线日韩欧美一区二区三区 | 亚洲图片在线观看 | 一区二区三区精品牛牛 | 久久久久久久久久久9精品视频 | 成人免费大片a毛片 | 久久一区二区三区免费 | 日韩欧美一区二区三区中文精品 | 欧美一级高清片欧美国产欧美 | 欧美亚洲国产精品第一页 | 国产精品日韩欧美一区二区三区 | 国产精品久久一区二区三区 | 热久久国产欧美一区二区精品 | 精品国产一区二区三区成人 | 亚洲自拍另类 | 国产日韩欧美视频在线 | 黑人一区二区三区中文字幕 | 91香蕉国产亚洲一二三区 | 久艹网| 国内一区二区 | 欧美一区2区 | 91大神在线精品视频一区 | 精品一区二区三区免费视频 | 亚洲视频在线免费播放 | 久久久91精品国产一区二区 | 成人毛片免费免费 | 国产一级片视频 | 国产在线精品观看 | 国内精品久久久久久久久 | 日韩欧美伦理 | 免费在线一级毛片 | 国产精品电影一区二区三区 | 一级毛片成人免费看a | 成人精品一区二区三区 | 色综合天天综合中文网 | 欧美xxx性 | 欧美色综合图区 | 久久成人a毛片免费观看网站 | 国产日韩在线看 | 视频在线观看国产 | 国产成人h片视频在线观看 国产超级乱淫片中文 | 亚洲精品视频免费在线观看 |