日志 回来日志列表 Application,Session和Cookie的区别(转载自:http://blog.csdn.net/chenghaibing200


Application :用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成.尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求,当网站访问量大的时候会产生严重的性能瓶颈. 因此最好不要用此对象保存大的数据集合.

Session:采用键值对 , 也就是说ID存放客户端 , 而值放在服务器端 , 是通过用户的ID去找服务器上对应的值 , 这种方式值放置在服务器端 ,有个时间限制 ,时间到则服务器自动释放.
Session中的信息保存在服务器的内存中,当然你也可以设置它的保存方法(如存在SQL数据库中)
Session用于保存每个用户的专用信息.她的生存期是用户持续请求时间再加上一段时间(一般是20分钟左右).
Session中的信息保存在Web服务器内容中,保存的数据量可大可小.当Session超时或被关闭时将自动释放保存的数据信息.由于用户停止使用应用程序后它仍然在内存中保持一段时间,因此使用Session对象使保存用户数据的方法效率很低.对于小量的数据,使用Session对象保存还是一个不错的选择

Cookie对象保存在客户端,Session和Application对象保存在服务器端.
      所有Cookie对象能够长期保存,Web应用程序可以通过获取客户端的Cookie值来判断用户的身份来进行验证.
          无需任何服务器资源. 缺点,大小限制, 如果客户端配置禁止Cookie设置,则被限制使用, 安全风险,可以伪装.
Name:获取或设置Cookie的名称
Value:获取或设置Cookie的Value
Expires:获取或设置Cookie的过期的日期
Version:获取或设置Cookie符合的HTTP维护状态的版本

Add:增加Cookie变量
Clear:清除Cookie集合内的变量
Get:通过变量名称或索引得到Cookie的变量值
Remove:通过Cookie变量名或索引删除Cookie对象

相关内容推荐