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);   //获取
  • 相关阅读:
    天大复试机试练习_003
    C++随手记--字符串转数字
    C++标准库STL 之 我觉得应该有的方法——split
    apt-get 详解&&配置阿里源
    Nginx 图文详解
    MySQL数据库管理常用命令小结
    oracle数据库备份
    SqlServer数据库备份还原步骤
    mysql数据备份与恢复
    Tomcat架构
  • 原文地址:https://www.cnblogs.com/woloveprogram/p/4682851.html
Copyright © 2011-2022 走看看