/// <summary> /// Adds new CacheItem to cache. If another item already exists with the same key, that item is removed before /// the new item is added. If any failure occurs during this process, the cache will not contain the item being added. /// </summary> /// <param name="key">Identifier for this CacheItem</param> /// <param name="value">Value to be stored in cache. May be null.</param> /// <param name="scavengingPriority">Specifies the new item's scavenging priority. /// See <see cref="CacheItemPriority" /> for more information.</param> /// <param name="refreshAction">Object provided to allow the cache to refresh a cache item that has been expired. May be null.</param> /// <param name="expirations">Param array specifying the expiration policies to be applied to this item. May be null or omitted.</param> /// <exception cref="ArgumentNullException">Provided key is null</exception> /// <exception cref="ArgumentException">Provided key is an empty string</exception> /// <remarks>The CacheManager can be configured to use different storage mechanisms in which to store the CacheItems. /// Each of these storage mechanisms can throw exceptions particular to their own implementations.</remarks> public void Add(string key, object value, CacheItemPriority scavengingPriority, ICacheItemRefreshAction refreshAction, params ICacheItemExpiration[] expirations) { realCache.Add(key, value, scavengingPriority, refreshAction, expirations); }
/// <summary> /// Adds new CacheItem to cache. If another item already exists with the same key, that item is removed before /// the new item is added. If any failure occurs during this process, the cache will not contain the item being added. /// </summary> /// <param name="key">Identifier for this CacheItem</param> /// <param name="value">Value to be stored in cache. May be null.</param> /// <param name="scavengingPriority">Specifies the new item's scavenging priority. /// See <see cref="CacheItemPriority" /> for more information.</param> /// <param name="refreshAction">Object provided to allow the cache to refresh a cache item that has been expired. May be null.</param> /// <param name="expirations">Param array specifying the expiration policies to be applied to this item. May be null or omitted.</param> /// <exception cref="ArgumentNullException">Provided key is null</exception> /// <exception cref="ArgumentException">Provided key is an empty string</exception> /// <remarks>The CacheManager can be configured to use different storage mechanisms in which to store the CacheItems. /// Each of these storage mechanisms can throw exceptions particular to their own implementations.</remarks> public void Add(string key, object value, CacheItemPriority scavengingPriority, ICacheItemRefreshAction refreshAction, params ICacheItemExpiration[] expirations) { realCache.Add(key, value, scavengingPriority, refreshAction, expirations); backgroundScheduler.StartScavengingIfNeeded(); }