webform中Session和Cookies對象的用法、登錄保持
一 、webform中Session和Cookies對象的用法
1、Session:
Session:在計算機中,尤其是在網絡應用中,稱為“會話控制”。Session 對象存儲特定用戶會話所需的屬性及配置信息。這樣,當用戶在應用程序的
Web頁之間跳轉時,存儲在 Session 對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。當用戶請求來自應用程序的 Web 頁時,如果該
用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄後,服務器將終止該會話。Session 對象最常見的一個用法就是
存儲用戶的首選項。例如,如果用戶指明不喜歡查看圖形,就可以將該信息存儲在 Session 對象中。
存放位置:服務器
作用:只要有內容,那麽在本網站中,所有的C#端都可以訪問這個變量
優點:安全、快速、全局訪問無限制
缺點:消耗服務器內存資源(每一個用戶來請求訪問網站都會建立一個獨立的Session,如果數據量過大、訪問量過大,容易造成服務器崩潰)
生命周期:20分鐘(不進行操作的情況下,執行任何提交的話,生命周期將重新從20分鐘開始倒計時)
註意:
1、不要存大量數據在Session裏
2、臨時Session取完無用後記得 = null清空它
//賦值
string s = TextBox1.Text;
Session["aa"] = s;
//取值
if(Session["aa"]!=null)
Label1.Text=Session["aa"].tostring();
2、Cookie:
Cookie,有時也用其復數形式 Cookie,指某些網站為了辨別用戶身份、進行 session 跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。
存放位置:客戶電腦的瀏覽器客戶端上,不同瀏覽器裏的Cookie不通用
作用:保存數據信息,只能保存字符串,全局訪問
會話Cookie(臨時):
清除方法:
1、瀏覽器一關,此次訪問一中斷
2、沒有任何新的提交,20分鐘過期
3、手動清除瀏覽器Cookie
持久Cookie:
清除方法:
1、代碼設置過期
2、手動清除瀏覽器Cookie
//賦值
string s = TextBox1.Text;
Response.Cookies["username"].Value = s;
if (CheckBox1.Checked)
{
Response.Cookies["username"].Expires =DateTime.Now.AddDays(3);//設置Cookie的過期時間
}
//取值
if (Request.Cookies["username"] != null)
Label1.Text = Request.Cookies["username"].Value;
如果想清空已保存的持久Cookie,可以通過Response.Cookies["username"].Expires = DateTime.Now.AddDays(-10);直接給此Cookie過期時間設置之前的日期
另:
Server.Transfer("Default2.aspx);使用此方法,可以在不變動地址欄顯示的地址的情況下跳轉頁面(比如一定要用地址欄傳址但又不想讓用戶看到所傳變量時)
二、登錄和狀態保持
在登錄界面登錄按鈕的點擊事件中:
在主界面進行取值:
主界面的退出登錄按鈕:
webform中Session和Cookies對象的用法、登錄保持