ASP.Net使用缓存技术提高效率
ASP.Net的缓存技术大大地提高了效率,本人将代码的简单的实现代码贴出:一、在页面中显示时,读缓存数据,加载XML数据public void LoadData() { DataView Source = (DataView)Cache["MyData"]; if(Source == null) { DataSet ds = new DataSet(); FileStream fs = new FileStream(Server.MapPath("LoginMsg.xml"), FileMode.Open,FileAccess.Read); StreamReader reader = new StreamReader(fs); ds.ReadXml(reader); fs.Close(); Source = new DataView(ds.Tables[0]); Cache.Insert("MyData", Source, new CacheDependency(Server.MapPath("LoginMsg.xml"))); ErrorMsg.Text = "从文件中读取的数据"; } else { ErrorMsg.Text = "从缓存中读取的数据"; } MyDataGrid.DataSource = Source; MyDataGrid.DataBind(); } 二、用XML存储交互数据,将数据放置到缓存中private void LoginMsg_Click(object sender, System.EventArgs e) { if(!Page.IsValid) { ErrorMsg.Text = "必需输入登录信息"; return; } DataSet ds = new DataSet(); FileStream fs = new FileStream(Server.MapPath("LoginMsg.xml"),FileMode.Open, FileAccess.Read, FileShare.ReadWrite); StreamReader reader = new StreamReader(fs); ds.ReadXml(reader); fs.Close(); DataTable dt = ds.Tables[0]; DataRow newrow = dt.NewRow(); newrow["custom_email"] = CustomEamil.Text; newrow["custom_pass"] = CustomPass.Text; newrow["login_time"] = DateTime.Now.ToString(); fs = new FileStream(Server.MapPath("LoginMsg.xml"), FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); TextWriter writer = new StreamWriter(fs); writer = TextWriter.Synchronized(writer); ds.Tables[0].Rows.Add(newrow); ds.WriteXml(writer); writer.Close(); Cache.Remove("MyData"); LoadData(); }

