• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

Static 变量在网页关闭后能支撑多久?

Programmersheaven 2003-09-19 09:22:35
程序如下
static private string m;
private void Page_Load(object sender, System.EventArgs e)
{
if(m==null){
Response.Write("Static is null");
m="Static have value";
}
else{
Response.Write(m);
}
}
...全文
24 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
反正我不用static了,不明不白的很头痛.
回复
buaawjh 2003-09-19
在web工程里使用static很难达到你所要的效果的,应该使用session,或者viewstate
回复
rottenapple 2003-09-19
to楼上:
我们公司有两个人都说static是一个程序在一个进程里面跑,2个用户之间的是不干扰的,但是我始终不确定,是这样的马?如果是,你的问题就简单了.
回复
uno 2003-09-19
是不是和private/public有关?
看到VB.NET中有shared对static变量的影响
回复
TO楼上:
如同上面那个程序,在一个网页里声明的static变量,如果进入这个网页需要身份验证,对于A用户进来后给static变量值,但如果之后B用户登录进来访问static变量却没有值(A用户进来肯定会有值),为什么?
回复
TO楼上:
如同上面那个程序,在一个网页里声明的static变量,如果进入这个网页需要身份验证,对于A用户进来后给static变量值,但如果之后B用户登录进来访问static变量却没有值(A用户进来肯定会有值),为什么?
回复
uno 2003-09-19
我没有自己研究过

为安全起见

可以在Application_End事件里为static对象手动清除
回复
uno 2003-09-19
应该说这和你iis站点的设置有关
总之静态成员是随使用此类的进程消亡而消亡的

用 static 修饰符声明的字段称为静态变量。静态变量在包含了它的那个类型的静态析构函数(第 10.11 节)执行之前就存在了,在关联的应用程序域终止时终止。

回复
上面那个ASP.net C#程序第一次运行显示
"Static is null"

之后将一直显示
"Static have value"

我用static做保存系统配置,但搞不太清楚它究竟能存在多久(曾经遇到过忽然static变量没有改变却丢失值的事情),为什么
回复
ylc001 2003-09-19
一直到服务器生命的终结或人为的改变。
回复
uno 2003-09-19
应用程序结束的时候
回复
mzbyxz 2003-09-19
希望你不要用它
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2003-09-19 09:22
社区公告
暂无公告