2017-10-04 55 views
-2

我試圖從緩存使用system.runtime.caching緩存列表數據

我有,我已經添加源解決方案中獲得的數據代碼緩存

 MemoryCache cache; 
     object cachedObject; 
     object webServiceResult; 
     ListItemCollection collListItem = null; 
     cache = new MemoryCache("SomeName"); 
     cachedObject = cache.Get(ProjectType); 
     if (cachedObject == null) 
     { 
      //getting data here 
      cache.Add(ProjectType, itemobtained, DateTime.Now.AddMinutes(5)); 
     } 

我建立了這個解決方案,添加了dll作爲控制檯應用程序的參考,這將在excel表格中爲每行調用這個dll

當我調試它時,cachedObject總是顯示爲空。

不知道爲什麼它不能夠從緩存中

+0

downvoters,除非你需要改進什麼評論,它真的不利於即興的問題 –

回答

2

好得到,因爲你在申報範圍的方法緩存它正在方法調用後銷燬。

創建它作爲一個靜態字段,然後用它在你的方法:

static MemoryCache cache = new MemoryCache();