1. 程式人生 > >webform中Session和Cookies對象的用法、登錄保持

webform中Session和Cookies對象的用法、登錄保持

登錄界面 expire ron 首選項 images ons ssi none 主界面

一 、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對象的用法、登錄保持