缓存DataSet以提高性能
//下面是一个小实列,具体用法请参见Ado.net
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//构建新的dataset,并用Cache.Get()方法的结果为它赋值,
//该方法返回匹配指定键名的Object实列.所以要阄它转化为dataset类型
DataSet dst = (DataSet)Cache.Get("CachedDataSet");
//如果dst中没有内容即为空
if (dst == null)
{
//重新填充dst 并设置在内存中的保存时间...
this.Label1.Text = "The data came from a connction to the database";
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["myCon"]);
con.Open();
SqlCommand cmd = new SqlCommand("select * from Test", con);
SqlDataAdapter dap = new SqlDataAdapter(cmd);
dst = new DataSet();
dap.Fill(dst, "Test");
//得到现在系统时间
dst.ExtendedProperties.Add("CreateTime", DateTime.Now.ToLongTimeString());
//设置在内存中的保存时间
Cache.Insert("CachedDataSet", dst, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero);
}
else
{
//dataset中已经有数据时
this.Label1.Text = "The Data come from the cahe,It was created at:" + dst.ExtendedProperties["CreateTime"].ToString() +"<br>The current Time is:"+DateTime.Now.ToLongTimeString();
}
this.GridView1.DataSource = dst.Tables[0].DefaultView;//不要忘记绑定数据,两句常在一起哟。。。
this.GridView1.DataBind();
}
}