首页 新闻 会员 周边 捐助

Static变量值丢失

0
悬赏园豆:10 [已解决问题] 解决于 2014-06-03 13:51

我在类库中定义了,static变量:

在类中:

static List<Model.AlarmHierarchicalSet> listLimit = null;//获取分级条件

在函数 GetLevelLimit()中:

listLimit = new List<Model.AlarmHierarchicalSet>();//获取分级条件

网站发布后,1小时左右listLimit == null会为true(一直是False)

if (listLimit == null)
{
GetLevelLimit();//隔一段时间就会执行!
}

金鸡岭的主页 金鸡岭 | 初学一级 | 园豆:9
提问于:2014-06-03 13:42
< >
分享
最佳答案
0

整个运行时被回收了.静态变量就被回收了

运行正常运行的话静态变量是不会有问题的.

如果你的程序是要部署到IIS的,那不要用静态变量保存状态.IIS的运行时是不稳定的

收获园豆:10
吴瑞祥 | 高人七级 |园豆:29449 | 2014-06-03 13:48

不用静态变量保存状态,那用什么呀?application行吗?

金鸡岭 | 园豆:9 (初学一级) | 2014-06-04 09:35

@金鸡岭 : 状态除非保存到数据库不然都是有可能丢失的,所以最简单的解决办法是考虑好状态丢失时怎么处理.不用去考虑怎么不让状态丢失

吴瑞祥 | 园豆:29449 (高人七级) | 2014-06-04 10:15
其他回答(1)
0

被回收了嘛

Launcher | 园豆:45050 (高人七级) | 2014-06-03 13:44

Static不是不会被回收的吗?

支持(0) 反对(0) 金鸡岭 | 园豆:9 (初学一级) | 2014-06-03 13:45

@金鸡岭: 会被回收的!

支持(0) 反对(0) 幻天芒 | 园豆:37207 (高人七级) | 2014-06-03 13:46

@金鸡岭: static 不是不会被回收,而是在应用程序域卸载之前不会被回收。宿主在 IIS 中的进程每隔一定时间没有访问的话,就会被回收掉。

支持(1) 反对(0) Launcher | 园豆:45050 (高人七级) | 2014-06-03 13:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册