我在类里面写了一个函数,这个函数返回一个从数据库读取出来的哈希表(固定不变的内容)。这个哈希表要经常被其他程序调用,每次调用的时候,我不想每次都让这个函数读取数据库并建立一次哈希表。可是我怎么觉得这么困难啊,既然是函数,调用的时候,一定要执行函数里面的内容,所以不可避免的每次需要读取数据库。我要10000次使用这个函数,就读取10000次啊?能不能就像全局变量一样,让这个哈希表是一个固定的表,被其他程序使用并不再每次读来读取的。

解决方案 »

  1.   

    存的时候就存到hashtable里就行了取的时候还是hashtable!
      

  2.   

    private static HashTable m_SetHashTable;public static HashTable GetHashTable()
    {  
      if(m_SetHashTable==null)
      {
          //数据库里取HASHTABLE
      }
      return m_SetHashTable;
    }
    不知道是不是你要的意思
      

  3.   

    可以的。用viewstate,在同一个页可以调用!
    把下面的写在   
     public partial class Em5mapply : System.Web.UI.Page
        {        public DataTable dtM5mapply
            {
                get { return (DataTable)ViewState["dtm5mapply"]; }
                set { ViewState["dtm5mapply"] = value; }
            }
            page_load()
           {}
          }
    DataTable 改成hashtable,就行了!