非常郁闷的一件事,操作Cache的事,郁闷了两天,最终在一个关键的位置找出答案,调试了好久才找到答案,问题如下:

把Dataset对象放入缓存,方便网站性能提升,下面把两个表的记录分别存入cache,源代码如下:

// 数据库连接

IDbConnection conn = DbHelper.dbconn();
conn.Open();


// 基本设置缓存
StringBuilder sqlStr = new StringBuilder();
sqlStr.Append("select top 1 * from IT_表1 order by id asc");
DataSet ds = new DataSet();

// 数据加载入dataset
ds = DbHelper.ExecuteDataset(conn, CommandType.Text, sqlStr.ToString(), false, null);
webcs.AddObject("Datasettings", ds);
Utils.Response("加入缓存成功<br>");
// 类别缓存
sqlStr.Remove(0, sqlStr.Length);
sqlStr.Append("select * from IT_表2");
// ds.Clear();  不要这句,要不然在外面读取会丢失缓存,读取为会null
ds.Dispose();
ds = DbHelper.ExecuteDataset(conn, CommandType.Text, sqlStr.ToString(), false, null);
webcs.AddObject("DataClass", ds);

ds.Dispose();
DbHelper.Close(conn);