2010-02-25 10 views
5

Estoy buscando una forma de configurar el almacenamiento en caché solo para usuarios anónimos. La razón por la que estoy buscando hacer esto es cuando los usuarios inician sesión y crean contenido que no ven de inmediato el contenido. En nuestro antiguo sistema (linux/php/mysql) lo teníamos configurado para almacenar en caché solo a los usuarios anónimos y esto no era un problema.Configurar el almacenamiento en caché de ASP.NET solo para anónimos?

En este momento tenemos la configuración de almacenamiento en caché en el web.config como esto

<caching> 
    <outputCacheSettings> 
    <outputCacheProfiles> 
     <add name="High" duration="60" varyByParam="*" enabled="true"/> 
     <add name="Medium" duration="30" varyByParam="*" enabled="true"/> 
     <add name="Low" duration="10" varyByParam="*" enabled="true"/> 
    </outputCacheProfiles> 
    </outputCacheSettings> 
</caching> 

Sé que puedo añadir un VaryByCustom = "nombre de usuario" como this post está hablando. Pero esto no soluciona mi problema. Todavía almacena en caché el inicio de sesión de los usuarios y existe el mismo problema.

Respuesta

0

Puede eliminar/vencerá la página desde la caché cuando un usuario realiza cambios en él utilizando el método que se muestra a continuación:

HttpResponse.RemoveOutputCacheItem("/PageJustUpdated.aspx"); 
1

Como dice Santiago es probablemente mejor para invalidar la caché de alguna manera.

De esta manera estás manteniendo un caché para todos tus usuarios anónimos o no. ¿Por qué no mejorar también la capacidad de respuesta de sus administradores, después de todo, van a utilizar la aplicación más probablemente?

¿Has mirado la dependencia de la memoria caché de SQL? De esta forma, cuando se altera la tabla que almacena el contenido, la memoria caché se invalida para usted.

http://msdn.microsoft.com/en-us/library/system.web.caching.sqlcachedependency.aspx

Cuestiones relacionadas