对象缓存

缓存分为三个级别:
1:应用程序级(Application)---------------存在数据读取的冲突问题。
 Application对象:它是ASP.NET内置的对象,表示ASP.NET应用程序的实例。Application状态由HttpApplicationState类表示,包括所有与应用程序相关的方法和集合。当第一个用户访问一个ASP.NET文件时,会启动应用程序并创建一个Application对象,创建之后,可以在整个程序中使用,直到应用程序关闭。

存在数据读取的冲突问题。
为了解决数据冲突问题:使用lock()和unlock()方法对Application对象进行锁定和解锁。
lock()用于防止用户更改变量值。使得单个用户会话有应用程序的管理权而锁定所有的应用程序变量,这样就可以防止其他任何用户编辑应用程序变量。
nulock()用于释放对应用程序变量的锁定。此方法一旦执行,用户就会失去对应用程序变量的控制权。

2:会话级(Session)
 session对象:由于cookie存在不安全因素。所以设计了session对象。session对象用于存储用户的信息。此信息将在用户会话期间保留。当用户在一个应用程序中由一个页面到另一个页面时。存储在session对象中的数据不会丢失。对象会在用户放弃会话或会话超时时的时候被清除。
 session对象包含特定的某个用户信息。此信息不能共享或由应用程序的其他用户访问。当会话过期或终止时。服务器就会清除session对象。
 单服务器的会话:有一个共同的起始源头,是浏览器与服务器之间的一组连续的交流。
 多服务器的会话:单点登录

3:页面级(ViewState)

cookie:主要是在客房端系统上保存客房端的个人信息。
cookie可以分为两类:
 会话性的cookie:是暂时的。当关闭浏览器后,任何会话cookie都会丢失。
 持久性的cookie:具有生命周期。有固定的过期日期。持久性的cookie都会在硬盘上形成文件。把状态永久保存.它不属于某个级别
 对于单个网站,浏览器最多可容纳20个cookie,对于多个不同网站,最多可以容纳400个网站.cookie变量最多可保留4KB的数据。

会话级跟页面级不存在数据读取冲突的问题,

Global.asax文件包含Application_start Application_End  Session_Start Session_End事件。
Application对象是存储于服务器的全局变量。
Cooike存储信息于客户端。
Session对象用于程序时会激活Session_Start事件。而用户退出应用程序时会触发Session_End事件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值