数据缓存及及缓存依赖项的使用

缓存依赖:
    通过缓存依赖,可以在被依赖对象(如文件、目录、数据库表等)与缓存对象之间建立一个有效关联。当被依赖对象发生变化时,缓存对象将变得不可用,并被自动从缓存中移除。

[html]  view plain copy print ?
  1. public partial class CacheDependencyPage : System.Web.UI.Page  
  2. {  
  3.     protected void Page_Load(object sender, EventArgs e)  
  4.     {  
  5.         if (!IsPostBack)  
  6.         {  
  7.             GetData();  
  8.         }  
  9.     }  
  10.     private void GetData()  
  11.     {  
  12.         DataTable tableData = new DataTable();  
  13.         if (Cache["data"] == null)//用于引用该项的缓存键。如果缓存改变,则true;详情百度c#的Cache对象!  
  14.         {  
  15.             DataSet ds = new DataSet();  
  16.             string filePath = Server.MapPath("~/App_Data/XMLFile.xml");//服务器数据绝对地址  
  17.             ds.ReadXml(filePath);//读取文件内的数据,保存在ds里  
  18.             tableData = ds.Tables[0];  
  19.             CacheDependency cdy = new CacheDependency(filePath,DateTime.Now);  
  20.             Cache.Insert("data", tableData, cdy);//通过使用 Insert(重载Insert方法)方法将项添加到缓存中  
  21.             //if (cdy.HasChanged)  
  22.             //{  
  23.                 System.Diagnostics.Debug.WriteLine("Xml已变更");  
  24.             //}  
  25.         }  
  26.         else  
  27.         {  
  28.             tableData = (DataTable)Cache["data"];//通过指定其键和值将项添加到缓存中  
  29.         }  
  30.         grvCS.DataSource = tableData;  
  31.         grvCS.DataBind();  
  32.   
  33.         //DataSet mds = new DataSet();//验证数据绑定用,因为xml层次结构的问题导致了数据绑定失败;  
  34.         //mds.ReadXml(Server.MapPath("~/App_Data/XMLFile.xml"));   
  35.         //grvCS.DataSource = mds;  
  36.         //grvCS.DataBind();  
  37.     }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值