将一个DataTable存到Cache中后,另一个页面新建变量并获取,操作变量,Cache中的数据也被改动了?
页面a.aspx 初始化并赋值,输出当前缓存内DataTable内数据条数
Page_Load
//声明个DataTable并添加数据 DataTable dt = new DataTable(); dt.Columns.Add("id", typeof(string)); DataRow dr = dt.NewRow(); dr[0] = "1"; dt.Rows.Add(dr); //添加缓存 if (HttpRuntime.Cache["b_str"] == null) { HttpRuntime.Cache.Insert("b_str", dt); page_str.Text = dt.Rows.Count.ToString(); //输出条数 } else { DataTable b = (DataTable)HttpRuntime.Cache["b_str"]; page_str.Text = b.Rows.Count.ToString(); //输出条数 }
页面b.aspx
Page_Load
DataTable b = (DataTable)HttpRuntime.Cache["b_str"]; b.Clear();
先执行a.aspx,page_str.Text输出是1
然后执行b.apsx
然后执行a.aspx,page_str.Text输出是0
Cache中的DataTable被清空了?