我当前正在尝试创建一个缓存管理器,但是每当我执行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();
}
}
}