zoukankan      html  css  js  c++  java
  • MVC、控件、一般处理程序中的session and cookie

    Mvc中:

    session: 

    if (!string .IsNullOrEmpty(find))   //设置
    Session["oip"] = "无锡";
    ViewBag.oip =Session["oip"];
    
    if (Session["oip"] == null)         //获取
    Session["oip"] = null;              //设为null

    Session.Timeout = 1;          //设置过期时间

    <sessionState mode="InProc" timeout="30"/> //过期30分钟
    或者:
    存:

    Session.Timeout = 960;
    Session["customerUser"] = (from c in db.C_CustomerUser where c.Mobile == mobile select c).FirstOrDefault();

    取:

    private HttpSessionState session = HttpContext.Current.Session;

    public C_CustomerUser GetCustomers()
    {
    if (session["customerUser"] != null)
    {
    C_CustomerUser customer = session["customerUser"] as
    C_CustomerUser;
    return customer;
    }

    
    

    cookie:

    HttpCookie cookie = new HttpCookie("oip");
    cookie.Expires = System.DateTime.Now.AddYears(1);
    cookie["oipp"] = "用户名";      
    Response.Cookies.Add(cookie);        //设置
    <sessionState mode="InProc" timeout="60"/>  //设置过期时间
    cookie["oipp"] =null;
    HttpCookie cookiee = Response.Cookies.Get("oip");  //获取
    ViewBag.oip = cookiee["oipp"];
    
    或者
    HttpCookie cookie = new HttpCookie("City"); //初使化并设置Cookie的名称   //设置 
    TimeSpan ts = new TimeSpan(1, 0, 0, 0, 0); //过期时间为 1天
    cookie.Expires = dt.Add(ts); //设置过期时间
    cookie.Values.Add("CityID", strCityID);
    cookie.Values.Add("CityOrg", strCityOrg);
    cookie.Values.Add("CityName", strCityName);
    HttpContext.Current.Response.AppendCookie(cookie); 
    
    取:
    
    HttpCookie cityCookie = System.Web.HttpContext.Current.Request.Cookies["City"];
    if (cityCookie != null)
    {
    city = cityCookie["CityID"];
    
    }

    控件中:

     Session["UserInfo"]   //设置和获取
    参考:http://www.cnblogs.com/kevin-top/archive/2010/07/04/1770726.html
    cookie: C# 计算时间差 用timespan函数http://www.blogjava.net/AndyZhang/archive/2012/05/02/377157.html
     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);
    设置
    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对象
    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);
    }   
    修改、新增
          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);
        }
    删除
     

    一般处理程序:

    session:

    context.Session["ws_user"].ToString()
    
    Session["UserInfo"] = currentUser;

    cookie:

    HttpCookie cookie = HttpContext.Current.Request.Cookies["info"];
    // cookie = null;
    if (cookie == null )
    {
    cookie = new HttpCookie("Info");                               //设置
    cookie["CityID"] = HttpContext.Current.Server.UrlEncode(cityID);             //编码
    cookie["CityName"] = HttpContext.Current.Server.UrlEncode(CityName);
    cookie.Expires = DateTime.Now.AddDays(10);//
    HttpContext.Current.Response.Cookies.Add(cookie);
    }else{
    //直接读值,注意编码 解码、不然汉字会出现乱码。
    Server.UrlDecode()
    }
    # 用来标志特定的文档位置 %23 
    % 对特殊字符进行编码 %25 
    & 分隔不同的变量值对 %26 
    + 在变量值中表示空格 %2B 
     表示目录路径 %2F 
    = 用来连接键和值 %3D 
    ? 表示查询字符串的开始 %3F 
           HttpCookie cookie = new HttpCookie("Test");//初使化并设置Cookie的名称
             
            TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0);//过期时间为1分钟
            cookie.Expires = DateTime.Now.Add(ts);//设置过期时间
            cookie.Values.Add("userid", "123456");
            cookie.Values.Add("test", "THIS_IS_TEST");
            context.Response.AppendCookie(cookie);
     
            context.Response.Write(context.Request.Cookies["Test"].Value);   //获取
  • 相关阅读:
    Coursera机器学习week11 单元测试
    关于 TypeReference 的解释
    getModifiers 方法解释。
    instanceof isInstance isAssignableFrom 比较
    elasticsearch 基础 语法总结
    kibana 启动 关闭 和进程查找
    MD5 SHA1 SHA256 SHA512 SHA1WithRSA 的区别
    spring boot 项目 热启动
    java zip 压缩文件
    Packet for query is too large (1660 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
  • 原文地址:https://www.cnblogs.com/woloveprogram/p/4682851.html
Copyright © 2011-2022 走看看