首页 新闻 会员 周边

静态变量何时失效?

0
悬赏园豆:5 [已解决问题] 解决于 2009-08-03 18:42

静态变量定义时就会存在于内存当中,直到它所在的类的程序运行结束之时它都将一直存在,那么,它将在什么时候过期失效呢?

Ryanism的主页 Ryanism | 初学一级 | 园豆:39
提问于:2009-08-01 19:43
< >
分享
最佳答案
0

关闭程序后

————————————

应邀补充:

你要把整个Asp.Net看做一个应用程序,就像你在Windows中执行的某个程序一样。

静态变量将在整个程序运行期间持续有效,对于网站来说,通常你可以简单地认为是从开机到关机之间一直有效。

而对于页面的请求响应,仅仅是这个应用程序的一部分功能,他不会直接影响整个应用程序的生命周期。

你可以把网站想象为加油站,加油站在建造时初始化了一个名为“名称”的静态变量,赋值为“前程加油站”,这个名称在运营期间可能会更改,但是通常要在加油站拆毁时才会释放。

而网页请求就像是车辆来加油。加油站始终在那里,有人来加油就给他加油,没人加油那加油站也不会消失;而不是来人的时候现造加油站(对于第一次访问来说,Asp.Net确实有这种惰性加载机制,但通常仅限于第一次访问),人走之后立刻摧毁加油站。

收获园豆:5
斯克迪亚 | 老鸟四级 |园豆:4124 | 2009-08-01 20:10
真形象,呵呵,谢谢了~ 也就是说在asp.net程序重启之前,静态变量都是在那里的吧~
Ryanism | 园豆:39 (初学一级) | 2009-08-03 18:42
是的:)
斯克迪亚 | 园豆:4124 (老鸟四级) | 2009-08-03 20:33
其他回答(2)
0

所在域卸载的时候。

today4king | 园豆:3499 (老鸟四级) | 2009-08-01 21:36
0

when the class dispose

Edwin Tai | 园豆:212 (菜鸟二级) | 2009-08-01 22:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册