C#使用Cookie方法

來源:互聯網
上載者:User

標籤:blog   http   io   使用   ar   strong   for   檔案   sp   

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);

    }

  }

C#使用Cookie方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.