Список <T>значений внутри блокировки стирается после блокировки - PullRequest
0 голосов
/ 02 января 2019

В настоящее время я пытаюсь создать менеджер кэша, но всякий раз, когда я выполняю 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();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...