• webform中Session和Cookie对象的用法


    Session:

      Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的

      Web页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该

      用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是

      存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。

     

      存放位置:服务器

     

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

     

      优点:安全、快速、全局访问无限制

     

      缺点:消耗服务器内存资源(每一个用户来请求访问网站都会建立一个独立的Session,如果数据量过大、访问量过大,容易造成服务器崩溃)

     

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

      

      注意:

      1、不要存大量数据在Session里

      2、临时Session取完无用后记得 = null清空它

    //赋值
    string s = TextBox1.Text;
    Session["aa"] = s;
    //取值
    if(Session["aa"]!=null)
        Label1.Text=Session["aa"].tostring();

    Cookie:

      Cookie,有时也用其复数形式 Cookie,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。

      

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

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

      会话Cookie(临时):

        清除方法:

         1、浏览器一关,此次访问一中断

        2、没有任何新的提交,20分钟过期

        3、手动清除浏览器Cookie

       持久Cookie: 

         清除方法: 

        1、代码设置过期

        2、手动清除浏览器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);直接给此Cookie过期时间设置之前的日期

    另:

      Server.Transfer("Default2.aspx);使用此方法,可以在不变动地址栏显示的地址的情况下跳转页面(比如一定要用地址栏传址但又不想让用户看到所传变量时)

     

  • 相关阅读:
    windows server 2012 流媒体服务器搭建(直播与点播)
    开源的电商 B2C、B2B2C 电商系统-关于shopnc版权问题处处是陷阱啊
    windows远程桌面无法粘贴复制的问题解决方法
    通过$.ajax设置预加载动画加强用户体验
    怎么样抢注新域名
    某些浏览器具有dns缓存功能,大家更改域名指向,建议清理下浏览器缓存
    jQuery的on绑定事件在mobile safari(iphone / ipad / ipod)上无法使用的解决方案
    sqlserver Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应
    解决jQuery ajax动态新增节点无法触发点击事件的问题
    php递归函数中使用return的注意事项
  • 原文地址:https://www.cnblogs.com/wt627939556/p/6245052.html
Copyright © 2020-2023  润新知