Example #1
0
        void Insert(string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration,
                    CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, bool doLock)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            if (slidingExpiration < TimeSpan.Zero || slidingExpiration > TimeSpan.FromDays(365))
            {
                throw new ArgumentNullException("slidingExpiration");
            }
            if (absoluteExpiration != NoAbsoluteExpiration && slidingExpiration != NoSlidingExpiration)
            {
                throw new ArgumentException("Both absoluteExpiration and slidingExpiration are specified");
            }

            CacheItem ci = new CacheItem();

            ci.Value = value;
            ci.Key   = key;

            if (dependencies != null)
            {
                ci.Dependency = dependencies;
                dependencies.DependencyChanged += new EventHandler(OnDependencyChanged);
                dependencies.SetCache(DependencyCache);
            }

            ci.Priority = priority;
            SetItemTimeout(ci, absoluteExpiration, slidingExpiration, onRemoveCallback, key, doLock);
        }
Example #2
0
		void Insert (string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration,
			     CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, CacheItemUpdateCallback onUpdateCallback, bool doLock)
		{
			if (key == null)
				throw new ArgumentNullException ("key");
			if (value == null)
				throw new ArgumentNullException ("value");
			if (slidingExpiration < TimeSpan.Zero || slidingExpiration > TimeSpan.FromDays (365))
				throw new ArgumentNullException ("slidingExpiration");
			if (absoluteExpiration != NoAbsoluteExpiration && slidingExpiration != NoSlidingExpiration)
				throw new ArgumentException ("Both absoluteExpiration and slidingExpiration are specified");
				
			CacheItem ci = new CacheItem ();
			ci.Value = value;
			ci.Key = key;
			
			if (dependencies != null) {
				ci.Dependency = dependencies;
				dependencies.DependencyChanged += new EventHandler (OnDependencyChanged);
				dependencies.SetCache (DependencyCache);
			}

			ci.Priority = priority;
			SetItemTimeout (ci, absoluteExpiration, slidingExpiration, onRemoveCallback, onUpdateCallback, key, doLock);
		}