public void Insert(object key, object value, DateTime expirationDate, TimeSpan slidingExpirationTime) { _itemsLock.EnterWriteLock(); try { _items[key] = new ServerCacheItem(value, expirationDate, slidingExpirationTime); } finally { _itemsLock.ExitWriteLock(); } }
public object this[object key] { get { _itemsLock.EnterUpgradeableReadLock(); try { ServerCacheItem res = (ServerCacheItem)_items[key]; if (res != null) { if (res.SlidingExpirationTime.TotalMilliseconds > 0) { _itemsLock.EnterWriteLock(); try { res.LastAccessTime = DateTime.Now; } finally { _itemsLock.ExitWriteLock(); } } return res.ItemValue; } else { return null; } } finally { _itemsLock.ExitUpgradeableReadLock(); } } set { _itemsLock.EnterWriteLock(); try { _items[key] = new ServerCacheItem(value); } finally { _itemsLock.ExitWriteLock(); } } }
public void Insert(object key, object value) { _itemsLock.EnterWriteLock(); try { _items[key] = new ServerCacheItem(value); } finally { _itemsLock.ExitWriteLock(); } }