#22005/2/6 11:56:26
第一个问题:
有些自定义的类,用ViewState来暂存,会出现这类问题,该类无法串行化,也无法用视图来存储。
但有些类要调用数据库的好多查询,并且要经过复杂的运算才能实现,如果没次调用,都实例化一下,对系统的开销会比较大,所以想存储在一个暂时地方,这样以后调用就不需要实例化了。
但用什么方法来存储,Session只能是字符串,开始想用public static来存储,但不知道这static变量存储会有什么后遗症,并且如果页面消失,这static变量是否还会继续存在。
后来用Cache来存储,比如存储一个树形结构:
TreeList tree;
HttpContext context = HttpContext.Current;
if (context.Cache["MyTreeList"] == null}
{
object data = new object; // 伪代码,泛指某类型
tree = new TreeList();
tree.ResetTree(data);
context.Cache["MyTreeList"] = tree;
}
else
{
tree = (TreeList)context.Cache["MyTreeList"];
}
非常大鱼