zoukankan      html  css  js  c++  java
  • 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);

        }

      }

  • 相关阅读:
    Java基本类型总结
    springboot(八):RabbitMQ详解
    Java开发相关命名规范
    jstl 与 el表达式
    el表达式(一)
    策略模式
    jsp (二) 练习
    jsp (一)
    Servlet (三) 文件下载(只支持英文文件名)
    Servlet (三)HttpServletResponse
  • 原文地址:https://www.cnblogs.com/zlqblog/p/3994651.html
Copyright © 2011-2022 走看看