6.4 使用Cookie保存会话信息
6.4.1 Cookie技术简介
Cookie主要用于存储用户的登录状态等信息,而且Cookie能在存储的同时指定一个时间,在系统经过了这个时间后,存储的信息自动被删除。Cookie存储在客户端的磁盘中,所以这个对象被称为服务器信息的客户端解决方案,信息存储在客户端的C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies下面。由于信息是存储在客户端的,虽然是经过加密的信息,但也不能存储关键信息。现在很多浏览器都禁用Cookie,所以Cookie不是一个完美的解决方案,是需要同其他方案搭配使用的。Cookie存储在客户端的固定文件夹中,可以手动删除,也可以通过浏览器自动删除,Cookie的数量也是有限制的,不是随意存储的。
6.4.2 使用Cookie保存信息
Cookie是内置对象之一,可以通过程序来控制。现在来查看程序设置Cookie,代码如下。
上面代码演示了Cookie的添加,在第一次加载窗体时,添加了一个Cookie对象,在最后一句中为这个Cookie对象设置了销毁时间,这里设置的时间是从当前事件开始以后的一年时间。下面查看从客户端取出Cookie的代码,代码如下。
在按钮的事件中,获得存储在客户端的Cookie对象,并且获得对象中存储的值,输出到页面中,输出结果如图6-9所示。
图6-9 输出的Cookie对象中的值
当然Cookie中也是可以存储对象的。Cookie一般只能存储不太关键的信息,比如,用户是否在线等,所以引用了另外的一个状态信息的保存机制,那就是会话状态。