2014-06-24 75 views
0

緩存元素在ASP.NET中,我們有獲取與關鍵

IDictionaryEnumerator enumerator = Cache.GetEnumerator(); 

讓所有緩存objecs的元素。

我們是否有任何方法來獲取以特定字符串開頭的緩存對象。像

IDictionaryEnumerator enumerator = Cache.GetEnumerator("%key%"); 

,而不是

while (enumerator.MoveNext()) 
     { 
      if (enumerator.Key.ToString().ToLower().StartsWith("key")) 
      { 
       //code 
      } 
     } 
+0

我覺得,如果我在這裏失蹤的大局觀,然而,一個建議是將存儲http應用程序級別對象中的鍵。您需要像上面所做的那樣迭代並存儲鍵_once_。隨後,您可以引用應用程序對象來檢索這些鍵。 – deostroll

回答

1

東西,你可以嘗試這樣的:

int i = 0; 
while (i < Cache.Keys.Length){ 
    if (Cache.Keys(i).Contains(keyName){ 
     //Code 
    } 
    else{ 
     i ++; 
    } 
} 
+0

是否沒有循環的方法? – renuka

+0

@renuka: - AFAIK沒有這樣的方法。如果您想更快地訪問它,我能想到的最好方法就是可以將搜索最多的關鍵字的數據存儲在表中,以便更快地訪問。您還可以根據一些相當簡單的算法定期創建一個刷新表的工作 –