2010-11-24 12 views
5

Creo que sé la respuesta a esto, pero no puedo encontrar un sí o un no definitivo en ningún lugar de la documentación o los artículos.Pregunta del objeto ASP.Net CacheDependency

Usando .Net 3.5 Almacenamiento en caché ASP.Net, si realiza una CacheDependency pasando una cadena [] de cacheKeys, las cacheKeys pasadas se insertan en la caché en el Insert en el que se usa la dependencia si no lo hacen ya ¿existe?

CacheDependency dependency = 
    new CacheDependency(null, new string[] { "abc", "def", "ghi"}); 
HttpRuntime.Cache.Insert("123", "xxx", dependency); 

Así que cuando el artículo caché "123" se inserta, ¿y si no hay ya un elemento en caché con la clave "def"? ¿Entonces se crea?

Si no es así, ¿hay alguna manera de tomar ese objeto CacheDependency y averiguar con qué claves se creó, para que pueda recorrerlos y agregarlos cuando sea necesario?

Básicamente, estoy tratando de permitir que un objeto CacheDependency pase a mis métodos de objetos CacheManager personalizados para las dependencias en lugar de la cadena [] que ahora necesito. Gracias por cualquier ayuda que usted nos pueda proporcionar.

+0

Creo que pregunté esto en el momento equivocado. Pedir el día antes del Día de Acción de Gracias en Estados Unidos probablemente no tendría muchos ojos en mi pregunta. – Billyhole

Respuesta

5

La respuesta es no. Las cacheKeys de una cacheDependency que no están ya en la caché NO se insertan en la caché en la inserción del elemento en el que se utiliza la dependencia.

De hecho, el elemento real que se está insertando con la dependencia ni siquiera entra en la memoria caché porque su dependencia ya no existe en la memoria caché.

Cuestiones relacionadas