<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.輸入正確的賬號密碼,點擊登錄,頁面就會
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com