代码改变世界

缓存DataSet(转载)

2010-12-16 11:01  爱研究源码的javaer  阅读(243)  评论(0编辑  收藏  举报
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();
}

}
转自:
http://www.cnblogs.com/yrScience/archive/2010/10/15/1852061.html