C#使用Cookie方法


C#使用Cookie方法

    Cookie是由服務器端生成,發送給User-Agent(一般是瀏覽器),瀏覽器會將Cookie的key/value保存到某個目錄下的文本文件內,下次請求同一網站時就發送該Cookie給服務器(前提是瀏覽器設置為啟用cookie)。Cookie名稱和值可以由服務器端開發自己定義,對於JSP而言也可以直接寫入jsessionid,這樣服務器可以知道該用戶是否合法用戶以及是否需要重新登錄等,服務器可以設置或讀取Cookies中包含信息,借此維護用戶跟服務器會話中的狀態。

   

    上面為Cookie的理論知識,下面使用具體案例來說明Cookie在C#中的具體使用方法。

 

 

 

//寫入Cookie案例:

  protected void Button1_Click(object sender, EventArgs e)

  {

    HttpCookie cookie=new HttpCookie("MyCook");//初使化並設置Cookie的名稱

    DateTime dt=DateTime.Now;

    TimeSpan ts = new TimeSpan(0, 0, 1,0,0);//過期時間為1分鍾

    cookie.Expires = dt.Add(ts);//設置過期時間

    cookie.Values.Add("userid", "userid_value");

    cookie.Values.Add("userid2","userid2_value2");

    Response.AppendCookie(cookie);

    //輸出該Cookie的所有內容

    //Response.Write(cookie.Value);//輸出為:userid=userid_value&userid2=userid2_value2 

  }

 

//讀取Cookie案例:

  protected void Button2_Click(object sender, EventArgs e)

  {

 

    // HttpCookie cokie = new HttpCookie("MyCook");//初使化

    if (Request.Cookies["MyCook"]!=null)

    {

      //Response.Write("Cookie中鍵值為userid的值:" + Request.Cookies["MyCook"]["userid"]);//整行

      //Response.Write("Cookie中鍵值為userid2的值" + Request.Cookies["MyCook"]["userid2"]);

      Response.Write(Request.Cookies["MyCook"].Value);//輸出全部的值

    }

  }

 

//修改Cookie案例:

  protected void Button3_Click(object sender, EventArgs e)

  {

    //獲取客戶端的Cookie對象

    HttpCookie cok = Request.Cookies["MyCook"];

 

    if (cok != null)

    {

      //修改Cookie的兩種方法

      cok.Values["userid"] = "alter-value";

      cok.Values.Set("userid", "alter-value");

 

      //往Cookie里加入新的內容

      cok.Values.Set("newid", "newValue");

      Response.AppendCookie(cok);

    }      

  }

 

//刪除Cookie案例:

  protected void Button4_Click(object sender, EventArgs e)

  {

 

    HttpCookie cok = Request.Cookies["MyCook"];

    if (cok != null)

    {

      if (!CheckBox1.Checked)

      {

        cok.Values.Remove("userid");//移除鍵值為userid的值

      }

      else

      {

        TimeSpan ts = new TimeSpan(-1, 0, 0, 0);

        cok.Expires = DateTime.Now.Add(ts);//刪除整個Cookie,只要把過期時間設置為現在

      }

      Response.AppendCookie(cok);

    }

  }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM