一、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:从会话对象中移除所有的键和值。
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方法进行同步。