Caching 如何在.NETCore中检索内存缓存键列表?
如何在.NET核心web应用程序中列出内存缓存中的所有注册密钥?我找到了。我分享它是为了帮助你Caching 如何在.NETCore中检索内存缓存键列表?,caching,.net-core,memory,Caching,.net Core,Memory,如何在.NET核心web应用程序中列出内存缓存中的所有注册密钥?我找到了。我分享它是为了帮助你 var cacheEntriesCollectionDefinition = typeof(MemoryCache).GetProperty("EntriesCollection", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); var cac
var cacheEntriesCollectionDefinition = typeof(MemoryCache).GetProperty("EntriesCollection", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
var cacheEntriesCollection = cacheEntriesCollectionDefinition.GetValue(_cache) as dynamic;
List<ICacheEntry> cacheCollectionValues = new List<ICacheEntry>();
foreach (var cacheItem in cacheEntriesCollection)
{
ICacheEntry cacheItemValue = cacheItem.GetType().GetProperty("Value").GetValue(cacheItem, null);
cacheCollectionValues.Add(cacheItemValue);
}
var cacheEntriesCollectionDefinition=typeof(MemoryCache).GetProperty(“EntriesCollection”,System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
var cacheEntriesCollection=cacheEntriesCollectionDefinition.GetValue(_cache)为动态;
List cacheCollectionValues=新列表();
foreach(cacheEntriesCollection中的var cacheItem)
{
ICacheEntry cacheItemValue=cacheItem.GetType().GetProperty(“值”).GetValue(cacheItem,null);
cacheCollectionValues.Add(cacheItemValue);
}
只是foreach
?它有一个GetEnumerator()
(这是foreach
使用的):(但请参见标记为“重要”的注释)