是List的问题还是Cache的问题???????
Select()是提取数据库的数据的方法,采用第一次从数据库提取,之后缓存起来并从缓存中提取数据;下面是将它赋给一个实体集合hc_MaterialCategory;hc_MaterialCategory的结构就是get set;public static List<hc_MaterialCategory> Select(string sortExpression)
{
string key = "hc_MaterialCategory_" + sortExpression;
List<hc_MaterialCategory> lists = null;
if (Cache[key] != null)
{
lists = (List<hc_MaterialCategory>)Cache[key];
}
else
{
lists = dal.Select(sortExpression);
CacheData(key, lists);
}
return lists;
}
问题在下面:
public static List<hc_MaterialCategory> Selectddl()
{
List<hc_MaterialCategory> lists = Select();
hc_MaterialCategory list = new hc_MaterialCategory();
list.MatCategoryCode = "0";
list.MatCategory = "";
lists.Insert(0, list);
return lists;
}
这样,前台aspx调用 Selectddl()的时候,刷新一次,就会insert一次,而不是理想中的只有一次;
List<hc_MaterialCategory> lists = Select();改为List<hc_MaterialCategory> lists = dal.Select("");直接数据库提取数据就会是理想中的只有insert一次
--------------------编程问答-------------------- up --------------------编程问答-------------------- dal.Select( " ");是什么?
--------------------编程问答-------------------- 好像问题不在这里,你用的什么缓存? 页面缓存? 缓存使用方式的问题。
补充:.NET技术 , C#