ASP.Net使用缓存技术提高效率

王朝asp·作者佚名  2006-11-24
宽屏版  字体: |||超大  

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();

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有