在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();

Web缓存Cache、Application、Session与ViewState的更多相关文章

  1. Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别

    2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...

  2. Application,Session,Cookie,ViewState和Cache区别

    在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等.下面分别介绍它们的用法和区别. 方法 信息量大小 作用域和保 ...

  3. [区别]APPlication,Session,Cookie,ViewState和Cache

    原文发布时间为:2009-08-01 -- 来源于本人的百度文章 [由搬家工具导入] 在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewS ...

  4. APPlication,Session,Cookie,ViewState和Cache之间的区别

    1.Application:用于保存所有用户共用的数据信息. 在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都 ...

  5. (转)Application, Session, Cookie, Viewstate, Cache对象用法和区别

    ================================================================================         1.Applicati ...

  6. ASP.NET:Application,Session,Cookie,ViewState和Cache之间的区别(转)

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

  7. Application,Session,Cookie,ViewState,Cache对象用法、作用域的区别

    1.Application:用于保存所有用户共用的数据信息.在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都要 ...

  8. .NET Application,Session,Cookie,ViewState,Cache对象用法

    作用域 保存地址 生命周期Application 应用程序 服务器内存 IIS启动Session 整个站点 服务器内存 Session到时 默认20分钟Cashe 应用程序 服务器内存 应用程序的周期 ...

  9. 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法

    转载原地址 http://www.cnblogs.com/cuishao1985/archive/2009/09/24/1573403.html ASP.NET状态管理 APPlication,Ses ...

随机推荐

  1. rest_framework之ModelViewSet、路由控制、序列化组件快速搭建项目雏形

    以UserInfo表登陆接口为例 ModelViewSet的用法十分简单,定义一个视图类,指定一个模型表,指定一个序列化类即可帮我们完成增删改查等功能 示例: # 视图层 from app01.MyS ...

  2. Python创建文件报错OSError:[Errno 22] Invalid argument处理

    问题: windows平台下使用python open函数w模式打开文件报错“OSError: [Errno 22] Invalid argument: '../news/“消费升维”成零售业新风口? ...

  3. 洛谷 题解 P1908 【逆序对】

    一开始竟然妄想用\(n^2\)的算法过这题,然而这是不可能的 所以只好写归并排序来求逆序対惹 比如将下面两个区间排序 3 4 7 9 1 5 8 10 首先将右区间的\(1\)取出,放到\(r_k\) ...

  4. 【leetcode算法-中等】3. 无重复字符的最长字串

    [题目描述] 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 " ...

  5. 只学python行吗

    常言道:"流水的语言,铁打的Python",目前它可以说是已经"睥睨天下,傲视群雄"了.它天生丽质,易于读写,非常实用,从而赢得了 广泛的群众基础,被誉为&qu ...

  6. WUSTOJ 1287: B304(Java:355ms,C:8ms)

    题目:

  7. PAT(B)1003 我要通过!(Java)

    1003 我要通过! 题目   判断字符串是否符合给定的规则.更多内容点击标题. 参考博客 ValarMorghulis的博客 分析   规律:num_a * num_b = num_c.字符串a中字 ...

  8. Redis的AOF重写脚本

    手动触发 每天定期的去执行一次 写了一个脚本 bgrewriteaof.sh 内容如下: #!/bin/bash /usr/local/redis/redis-cli -p 6379 -h 127.0 ...

  9. S03_CH11_基于TCP的QSPI Flash bin文件网络烧写

    S03_CH11_基于TCP的QSPI Flash bin文件网络烧写 11.1概述 针对ZYNQ中使用QSPI BOOT的应用,将BOOT.bin文件烧写至QSPI Flash基本都是通过USB C ...

  10. asp.net core-8. 配置的热更新

    在asp.net core 发布了以后,在修改配置文件以后不需要重新发布,要实现只需要修改@inject IOptions<WebApplication1.Class> ClassAcce ...