将一个DataTable存到Cache中后,另一个页面新建变量并获取,操作变量,Cache中的数据也被改动了?
页面a.aspx 初始化并赋值,输出当前缓存内DataTable内数据条数
Page_Load
//声明个DataTable并添加数据
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(string));
DataRow dr = dt.NewRow();
dr[] = "";
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被清空了?