application,session,cokie,viewstate的区别是什么?

来源:百度知道 编辑:UC知道 时间:2024/06/16 17:57:15

application
application的数据保存在服务器的内存中,当关闭服务器时会丢失数据.

session
session的数据保存在服务器的内存中,当关闭服务器或用户退出网站都会丢失数据.

cokie
session的数据保存在用户的硬盘中,当用户把cokie文件删除就会丢失数据.

viewstate
viewstate的数据保存在服务器的内存中,当关闭服务器或用户退出网站或用户关闭该网页都会丢失数据.

Application用于保存所有用户共用的数据信息,如果被保存的数据在应用程序生存期内根本不会改变或很少改变,用它。但是在asp.net中有个web.config,可能更好点。如果要使用application,一个需要考虑的问题是任何写操作都有要在application_onstart事件中(Global.asax)中完成。尽管使用application.lock和application.unlock方法来避免操作的同步,但是它串行化了对application的请求,当网站访问量大时会造成性能瓶颈。因此最好不要用它存取大的数据集。
使用方法:
//存放信息
Application["test"] = "100";
//读取
String test = Application["test"].ToString();

Session 用于保存每个用户的专用信息,它的生存期是用户持续请求时间再加上一段时间(可以在web.config中设置,默认是20分钟)。Session中的信息保存在服务器的内存中,当然你也可以设置它的保存方法(如存在SQL数据库中)。由于用户停止使用程序后它仍然在内存中保持一段时间,因此使用Session对象保存用户数据的方法效率很低。对于小量的数据。使用Session还是一个不错的选择。
//存
Session["user"] = "majcms";
//取
String usernam