asp.net静态变量被回收问题 10
我在asp.net项目的一个类中声明了一些静态变量,用于保存一些公用的数据。但是我发现这些变量在很长一段时间没有访问后居然被回收了,再访问变成null了。比较困惑,静态变...
我在asp.net项目的一个类中声明了一些静态变量,用于保存一些公用的数据。
但是我发现这些变量在很长一段时间没有访问后居然被回收了,再访问变成null了。比较困惑,静态变量也有回收问题吗?
如何防止这种回收呢?
首先谢谢一楼的哥们。
补充下:
详细情况是这样,我用静态变量保存了一些用户的信息(这个项目用户总数很少,而且人员固定)用作缓存。一般上午的时候运行良好,因为系统客户们都在用。中午客户公司的人都去吃法,系统在那干放了一小时左右。等用户吃过午饭再用时,就发现所有用静态变量记录的用户信息全部丢失... 展开
但是我发现这些变量在很长一段时间没有访问后居然被回收了,再访问变成null了。比较困惑,静态变量也有回收问题吗?
如何防止这种回收呢?
首先谢谢一楼的哥们。
补充下:
详细情况是这样,我用静态变量保存了一些用户的信息(这个项目用户总数很少,而且人员固定)用作缓存。一般上午的时候运行良好,因为系统客户们都在用。中午客户公司的人都去吃法,系统在那干放了一小时左右。等用户吃过午饭再用时,就发现所有用静态变量记录的用户信息全部丢失... 展开
6个回答
展开全部
各位,按照正常的逻辑是静态变量在程序发布的时候加载,在程序停止发布的时候才结束,怎么和session有关系呢,建议用xml存储用户信息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上好,按理说只要服务器开着,静态变量就不会北回收,应该是其他地方对静态变量进行了操作,你可以试试如下方法
public class Test
{
// 静态只读防止被修改
public static readonly Test SingleInstance;
static Test()
{
// 静态构造函数只赋值一次
SingleInstance= new Test();
}
}
public class Test
{
// 静态只读防止被修改
public static readonly Test SingleInstance;
static Test()
{
// 静态构造函数只赋值一次
SingleInstance= new Test();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果说你怕静态变量或对象被回收,我建议你用ViewState,它在当前页面不变的情况下是会被一直保存的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
声明公共变量吧 再不行就数据库
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询