HttpRuntime.Cache被清空的DataTable

将一个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被清空了?

 

 

 

posted @ 2013-12-31 19:24  csecong  阅读(474)  评论(0编辑  收藏  举报