В настоящее время я пытаюсь создать менеджер кэша, но всякий раз, когда я выполняю AddElementToCache, никакие значения не сохраняются в списке.
Мне удалось отладить, и я видел, что каждый раз, когда он выходит из блокировки, недавно добавленное значение стирается.
Ниже вы можете найти мой класс CacheManager и его методы:
public class CacheManager<T>
{
public CacheManagerConfiguration CacheManagerConfiguration;
private static List<T> _cachedElements;
private readonly ReaderWriterLockSlim _lock;
public CacheManager(CacheManagerConfiguration configuration)
{
CacheManagerConfiguration = configuration;
_lock = new ReaderWriterLockSlim();
if (_cachedElements == null)
{
_cachedElements = new List<T>();
}
}
public void AddElementToCache(T element)
{
_lock.EnterWriteLock();
try
{
_cachedElements.Add(element);
}
finally
{
_lock.ExitWriteLock();
}
}
}