asp.net静态变量被回收问题 10

我在asp.net项目的一个类中声明了一些静态变量,用于保存一些公用的数据。但是我发现这些变量在很长一段时间没有访问后居然被回收了,再访问变成null了。比较困惑,静态变... 我在asp.net项目的一个类中声明了一些静态变量,用于保存一些公用的数据。
但是我发现这些变量在很长一段时间没有访问后居然被回收了,再访问变成null了。比较困惑,静态变量也有回收问题吗?

如何防止这种回收呢?
首先谢谢一楼的哥们。
补充下:
详细情况是这样,我用静态变量保存了一些用户的信息(这个项目用户总数很少,而且人员固定)用作缓存。一般上午的时候运行良好,因为系统客户们都在用。中午客户公司的人都去吃法,系统在那干放了一小时左右。等用户吃过午饭再用时,就发现所有用静态变量记录的用户信息全部丢失...
展开
 我来答
firev000
2010-07-19 · TA获得超过492个赞
知道小有建树答主
回答量:877
采纳率:0%
帮助的人:644万
展开全部
应该是没有用了才回收,或者说是超过了该静态变量的生存周期。如果还在生存周期是不会被回收的

那应该是SESSION失效了,一段时间不操作的话,SESSION就没了。就是说你干放了一个小时以后,再操作IE的话,虽然你看到的页面一样,可是是个新的页面,里面的值跟你开个新IE 打开这个页面的值是一样的。
SESSION 默认是20分钟
358176959
2010-07-30 · 超过41用户采纳过TA的回答
知道答主
回答量:201
采纳率:0%
帮助的人:114万
展开全部
各位,按照正常的逻辑是静态变量在程序发布的时候加载,在程序停止发布的时候才结束,怎么和session有关系呢,建议用xml存储用户信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丹轻舞飞扬
2010-07-20
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
楼上好,按理说只要服务器开着,静态变量就不会北回收,应该是其他地方对静态变量进行了操作,你可以试试如下方法

public class Test
{
// 静态只读防止被修改
public static readonly Test SingleInstance;

static Test()
{
// 静态构造函数只赋值一次
SingleInstance= new Test();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jeason738
2010-07-19 · TA获得超过1716个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:273万
展开全部
如果说你怕静态变量或对象被回收,我建议你用ViewState,它在当前页面不变的情况下是会被一直保存的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
noitlr
2010-07-19 · TA获得超过4140个赞
知道小有建树答主
回答量:1772
采纳率:0%
帮助的人:1455万
展开全部
声明公共变量吧 再不行就数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友013ae4377
2010-07-19 · 超过20用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:71.7万
展开全部
在关联的应用程序域终止时终止

http://msdn.microsoft.com/zh-cn/library/aa691162(VS.71).aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式