当前位置:编程学习 > C#/ASP.NET >>

是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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,