关于DataReader的缓存

DataReader可以缓存数据,但是DataReader不能够直接缓存,例如

SqlDataReader instance = Cache["key"] as SqlDataReader ;
if (instance == null)
{ instance = BllMethodToGetInstance();
  Cache.Insert(key, instance, ...); }
return instance;
类似这样的代码是不行的,因为DataReader需要一直占用数据库连接,一个常用方法是将数据库数据读取出来然后存放在ArrayList类等里,然后缓存类

原文地址:https://www.cnblogs.com/mqingqing123/p/955714.html