Application、Session、ViewState、request、cookie、静态全局变量的区别

来源:互联网 发布:mac 所有软件打不开 编辑:程序博客网 时间:2024/04/29 06:29

http://www.cnblogs.com/sunxf2011/archive/2011/08/05/2129111.html


问题:

最新刚开始接触b/s项目,对application、session、ViewState、request、cookie、静态全局变量等
的机制感觉很混乱,不知道该用哪一个,不知道它们的生命周期是多长,是不是随时都可以获取它们保存的值,会不会出现丢失的情况?能说说它们各自的机制吗?
我在写代码时,很多地方都是直接获取Request.QueryString中的值,但是同事说最好在Page_Load中用hidden控件保存Request.QueryString中的值,防止丢失,是这样吗?我不能在需要时,直接获取Request.QueryString中的值吗?请各位高手指教一下,谢谢!!

回答:

1.application变量是每个用户都能访问的变量,生命周期是关机或重启系统结束.

2.session是服务端的用户变量,也就是不同的访问者的session变量是不能互相访问的,
  生命周期默认是20分钟,所谓这个生命周期就是说20分钟不去访问这个网站,session就结束,
  当然这个时间是可自行设置的.

3.cookie是客户端的变量,不同的访问者的cookie变量是不能互相访问的,这个cookie变量可保存在客户端,
  最长间可设置为一年.

4.所为Request.QueryString,就是在url后写变量值传给一个网页,网页关闭这个变量也就结束.

5.ViewState页面级的变量,用于保存本页面的一些值,页面关闭生命也就结束.

6.所谓静态变量或静态的方法是常住内存的,任何地方都可以通过类名来使用.

一般来说,页面和页面传递变量值通过"session"或"cookie"或"url后写变量值"这三种方式.

原创粉丝点击