#caching #.net-core #memory
#кэширование #.net-core #память
Вопрос:
Как составить список всех ключей реестра из кэша памяти в веб-приложении .NET Core?
Комментарии:
1. Просто
foreach
? Он имеетGetEnumerator()
(которыйforeach
использует): learn.microsoft.com/en-us/dotnet/api / … (но смотрите примечание с пометкой «важно»)
Ответ №1:
Я нашел. Я делюсь этим, чтобы помочь вам.
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);
}