HttpRuntime.Cache is not expiring?
<p>I have a problem with the following code. I have the following code,</p>

<pre><code>            if (HttpRuntime.Cache[cacheKey] == null)
            {
                AddTask(cacheKey, JsonConvert.SerializeObject(result), 60 * 30);
            }
            r = JsonConvert.DeserializeObject&lt;Result&gt;(HttpRuntime.Cache[cacheKey].ToString());
            HttpRuntime.Cache[cacheKey] = JsonConvert.SerializeObject(r); 


           private static void AddTask(string key, string value, int seconds)
            {
                HttpRuntime.Cache.Insert(key, value, null,
                    DateTime.Now.AddSeconds(10), Cache.NoSlidingExpiration,
                    CacheItemPriority.NotRemovable, new CacheItemRemovedCallback(CacheItemRemoved));
            }

    public static void CacheItemRemoved(string k, object v, CacheItemRemovedReason r)
    {
    }
</code></pre>

<p>What I am doing is simply adding and updating(if exist) the cache. Then after 10 seconds I wanna to check something. But my CacheItemRemoved callback never called. </p>