me encontré con esta referencia:
Resolver el Problema de almacenamiento en caché
Aquí es donde me gustaría compartir los depuración y habilidades para resolver problemas brillantes que se utiliza para fijar el problema. Solo que no puedo, porque nunca pude descifrar qué estaba mal. Para mí, parece que usar la sobrecarga simple [setCache (key, object)] simplemente no funciona correctamente.
Lo que hice al final fue utilizar el mismo código que utilicé para el caché del diccionario de Url. Esta era una sobrecarga diferente porque usaba una devolución de llamada y un tiempo de caducidad fijo.
Aquí está el código:
DateTime absoluteExpiration = DateTime.Now.Add(settings.CacheTime);
DataCache.SetCache(UrlDictKey, urlDict, null, absoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, onRemove, settings.CachePersistRestart);
Este código utiliza una sobrecarga diferente, y por alguna razón, funciona correctamente. Las pruebas lo confirmaron: anteriormente, cuando golpeaba el servidor de prueba con solicitudes, eventualmente se paralizaba a medida que la base de datos se cargaba en las consultas a la misma tabla una y otra vez. Ahora, habría una llamada a la sp, el elemento se almacenaría en caché, y las solicitudes podrían pasar sin ahogarse.
Encontrado esta referencia en: http://www.ifinity.com.au/Blog/Technical_Blog/EntryId/55/DotNetNuke-Caching-and-a-performance-problem/
Espero haber sido capaz de ayudar, al menos, o señalarle en la dirección correcta.