您现在的位置: 365建站网 > 365学习 > 缓存DataSet以提高性能

缓存DataSet以提高性能

文章来源:365jz.com     点击数:657    更新时间:2009-09-29 09:23   参与评论

//下面是一个小实列,具体用法请参见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();
    }

}

Tag标签: 缓存DataSet以提高性能

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (657人查看2条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------