zoukankan      html  css  js  c++  java
  • ASP.NET(99):Web缓存Cache、Application、Session与ViewState

    在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么?

    方法 信息量大小 保存时间 应用范围 保存位置
    Application 任意大小 整个应用程序的生命期 所有用户 服务器端
    Session 小量,简单的数据 用户活动时间+一段延迟时间(一般
    为20分钟)
    单个用户 服务器端
    Cookie 小量,简单的数据 可以根据需要设定 单个用户 客户端
    Viewstate 小量,简单的数据 一个Web页面的生命期 单个用户 客户端
    Cache 任意大小 可以根据需要设定 所有用户 服务器端
    隐藏域 小量,简单的数据 一个Web页面的生命期 单个用户 客户端
    查询字符串 小量,简单的数据 直到下次页面跳转请求 单个用户 客户端
    Web.Config文件 不变或极少改变的小量数据 直到配置文件被更新 单个用户 服务器端

    ViewState视图状态

    ViewState用来保存用户的状态信息,有效期等于页面的生命周期。

    可以保存大量数据但是要慎用,因为会影响程序性能。所有的Web服务器控件都是用ViewState在页面PostBack期间保存状态,不需要则关闭 @page 里面设置EnableViewState=false。

    在web窗体控件设置为runat = "server",这个控件会被附加一个隐藏的属性_ViewState,_ViewState存放了所有控件在ViewState中的状态值。

    <input type="hidden" name="__VIEWSTATE" value="">

    ViewState是一个名称/值的对象集合。当请求某个页面时,ASP.NET会把所有控件的状态序列化成一个字符串,每次页面提交时一起提交到后台,asp.net对其中的值进行解码,然后输出时再根据这个值来恢复各个控件的状态.

    ViewState["ID"] = "yiner";
    String ID = ViewState["ID"].ToString();

     

  • 相关阅读:
    vsCode 使用 PHP Intelephense插件函数跳转跟踪
    acme.sh 生成证书一直卡在Getting domain auth token for each domain
    用命令行执行php脚本输出乱码
    js检测是否是手机平台
    个人知识结构索引
    离线环境下安装ansible,借助有网环境下pip工具
    zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本
    使用ansible结合FTP部署zabbix_agent
    datax的可视化-datax-web
    Finereport决策报表
  • 原文地址:https://www.cnblogs.com/springsnow/p/9433962.html
Copyright © 2011-2022 走看看