2011-07-27 24 views
5

¿Hay alguna forma de deshabilitar el caché (System.Web.Caching.Cache, no el caché OutPut para la página aspx) en web.config o global.asax o de alguna manera?Deshabilitar caché asp.net

Respuesta

4

De MSDN,

API de caché los valores de configuración

Puede configurar la API de caché de la aplicación en el archivo Web.config. Al igual que con la memoria caché de resultados de la página, los servidores de aplicaciones pueden establecer las propiedades de configuración en el archivo Machine.config y bloquear las configuraciones de caché para todas las aplicaciones. La API de caché de la aplicación está configurada en CacheSection.

Puede especificar la configuración de la API de caché de la aplicación asignando valores a atributos como DisableExpiration e DisableMemoryCollection dentro de CacheSection del archivo de configuración.

Si la propiedad DisableMemoryCollection se establece en true, las llamadas a la API relacionada con la memoria caché no tendrán ningún efecto.

Palabra de advertencia: Si la propiedad DisableMemoryCollection está establecida en true, la memoria caché no intentará recopilar elementos no utilizados. Tenga cuidado al usar esta configuración, ya que deshabilitar la recopilación de memoria puede conducir rápidamente a condiciones de falta de memoria para la aplicación.

se puede establecer en el web.config o hacerlo mediante programación,

// Get the application configuration file. 
    System.Configuration.Configuration config = 
    System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/"); 


    System.Web.Configuration.CacheSection cacheSection = 
    (System.Web.Configuration.CacheSection)config.GetSection(
    "system.web/caching/cache"); 

    cacheSection.DisableMemoryCollection = true; 

    // Save the configuration file. 
    config.Save(System.Configuration.ConfigurationSaveMode.Modified); 
Cuestiones relacionadas