ASP.NET Web程序设计 第五章 页面状态管理

一、Cookie对象(重点)

1、Cookie用于在客户端浏览器中存储少量信息,通常存放非敏感的用户信息,保存的时间可以设置。

1)临时型:如果没有设定Cookie的过期时间,则Cookie的过期时间,则Cookie的生命周期仅保持到关闭浏览器为止。

2)持久型:将 Cookie的过期时间设定为一个未来的时刻,则Cookie的生命周期会持续到设定的时刻结束,即使在此期间关闭浏览器甚至重启电脑。

注意:出于安全考虑,Cookie的个数及存储的数据量都有严格限制。另外,Cookie的使用也会受限于用户对于自己浏览器的设置,比如:禁用Cookie。

二、Session对象(重点)

1、Session对象用于存储在多个页面之间传递的特定会话的信息。

2、Seccion对象特点:
1)Seccion对象包含某一个会话的状态信息,不与其他会话共享。

2)当会话超时(默认20分钟)或会话中止(调用Abandon方法),服务器会即可清除Session对象,释放所有资源。

3)会话通过SessionID传递状态信息,客户端仅知道SessionID,但对其状态信息不可见。

3、Session对象的方法:

1)Abandon:中止当前会话。

2)Clear:从会话对象中移除所有的键和值。

扫描二维码关注公众号,回复: 10036803 查看本文章

3)Remove:删除会话对象中指定的项。

4、在Web.config中配置Session:

  <sessionState cookieless="true" timeout="10"/>
  
  cookieless:使用url传递SessionID
  timeout:设置会话超时为10分钟

三、Application对象(重点)

1、Application对象用于共享应用程序级信息,即多个会话共享一个Application对象。

2、Application对象与Session对象的主要区别是:

1)Applction对象中的数据会话间共享,Session对象中的数据会话不共享。

2)Application对象在web应用程序结束时被销毁,Session对象在会话超时或会话中止时销毁。

注意:只有当所有用户关闭了Web应用程序连接后,Web应用程序才会结束。因为一般这种情况很难遇到,所以保存在Application中的数据将会在内存中保存很长时间,因此一般不建议将大量数据保存在Application对象中。

3、由于Application对象的数据是会话间共享,而Web应用程序又是并发执行的,因此不同会话对于Application对象中的同一个数据的访问需要使用Application.Lock和Application.UnLock方法进行同步。

小剧场:拆山河,川流割裂五岳摇荡。

发布了161 篇原创文章 · 获赞 120 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43771695/article/details/104873736