zoukankan      html  css  js  c++  java
  • 内置对象Session,Cookie

    一.Session

    Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。

    作用:只要有内容,那么在本网站中,所有的C#端都可以访问这个变量

      优点:

    • 安全、快速、全局访问无限制

      缺点:

    • 消耗服务器内存资源(每一个用户来请求访问网站都会建立一个独立的Session,如果数据量过大、访问量过大,容易造成服务器崩溃)
    • 浏览器一旦关闭,那么会断开此条Session的连接

      生命周期:

    • 20分钟(不进行操作的情况下,执行任何提交的话,生命周期将重新从20分钟开始倒计时)

         存储内容:

    •  Session里面能存储Object类型

      

         注意:

    • 不要存大量数据在Session里
    • 临时Session取完无用后记得 = null清空它
    //赋值
       string s = TextBox1.Text;
       Session["aa"] = s;
       //取值
       if(Session["aa"]!=null)
       Label1.Text=Session["aa"].tostring();


    二.Cookie
        与Session一模一样

        存放位置:客户电脑的浏览器客户端上,不同浏览器里的Cookie不通用

        作用:保存数据信息,只能保存字符串,全局访问

        Cookie和Session不同之处:

        Session很安全,但是消耗服务器内存
        Cookies,不消耗服务器内存,存在客户端上,但是有可能被访问

       

    (1) 临时Cookie:

        清除方法:

    •           浏览器一关,此次访问一中断
    •     没有任何新的提交,20分钟过期
    •     手动清除浏览器Cookie

    (2)  持久Cookie: 

         清除方法: 

    •     代码设置过期
    •     手动清除浏览器Cookie
    //赋值
    string s = TextBox1.Text;
    Response.Cookies["username"].Value = s;
    if (CheckBox1.Checked)
                {
                    Response.Cookies["username"].Expires =DateTime.Now.AddDays(3);//设置Cookie的过期时间
                }
    //取值
    if (Request.Cookies["username"] != null)
                Label1.Text = Request.Cookies["username"].Value;
    
    //清除持久Cookie  ,直接给此Cookie过期时间设置之前的日期
    Response.Cookies["username"].Expires=DateTime.Now.AddDays(-10);
  • 相关阅读:
    哈希表(hash)
    并查集
    trie树(字典树)
    单调队列(滑动窗口)
    单调栈
    用数组实现栈与队列
    数组实现双链表
    数组实现单链表
    区间合并
    离散化
  • 原文地址:https://www.cnblogs.com/zhangxin4477/p/6885825.html
Copyright © 2011-2022 走看看