1
我累了設置填充IReadOnlyList緩存,但它總是空:的MemoryCache不存儲IReadOnlyList
CacheItemPolicy cip = new CacheItemPolicy(); // no expiration
IReadOnlyList<T> dataList = [populate var]
if (dataList != null)
{
MemoryCache.Default.Set(_cacheKey, dataList, cip);
}
沒有在高速緩存設置。但如果我將其更改爲:
List<T> list = null;
CacheItemPolicy cip = new CacheItemPolicy(); // no expiration
IReadOnlyList<T> dataList = [populate var]
if (dataList != null)
{
list = dataList.ToList();
MemoryCache.Default.Set(_cacheKey, list, cip);
}
它的工作原理。 MemoryCache不支持接口或IReadOnlyList對象嗎?
如何填充'dataList'列表? –
它實際上是在函數中傳遞的,爲了讓示例簡單,我刪除了包裝調用的函數。 – Josh
該函數返回的對象的類型是什麼? (不是函數返回類型,而是特定情況下返回值的實際類型)。我不認爲變量類型很重要,但也許對象的類型很重要。 –