最近我一直在研究 ASP.NET 中缓存的可能性。
我滚动了自己的“缓存”,因为我不知道更好,它看起来有点像这样:
public class DataManager
{
      private static DataManager s_instance;
      public static DataManager GetInstance()
      {
      }
      private Data[] m_myData;
      private DataTime m_cacheTime;
      public Data[] GetData()
      {
            TimeSpan span = DateTime.Now.Substract(m_cacheTime);
            if(span.TotalSeconds > 10)
            {
                  // Do SQL to get data
                  m_myData = data;
                  m_cacheTime = DateTime.Now;
                  return m_myData;     
            }
            else
            {
                  return m_myData;
            }
      }
}
所以这些值会在一个单例中存储一段时间,当时间到期时,这些值会被更新。如果时间尚未到期,并且完成了对数据的请求,则返回字段中存储的值。
使用真正的方法(http://msdn.microsoft.com/en-us/library/aa478965.aspx)而不是这个有什么好处?