禁用asp.net缓存

时间:2011-07-27 11:09:20

标签: asp.net caching

有没有办法在web.config或global.asax上以某种方式禁用Cache(System.Web.Caching.Cache,而不是aspx页面的OutPut缓存)?

1 个答案:

答案 0 :(得分:4)

来自MSDN,

缓存API配置设置

您可以在Web.config文件中配置应用程序的缓存API。与页面输出缓存一样,应用程序托管服务商可以在Machine.config文件中设置配置属性,并锁定所有应用程序的缓存配置设置。应用程序缓存API在CacheSection中配置。

您可以通过在配置文件的CacheSection中为属性(如DisableExpiration和DisableMemoryCollection)分配值来指定应用程序缓存API配置设置。

  

如果DisableMemoryCollection属性设置为true,则调用   与缓存相关的API将无效。

注意事项:如果DisableMemoryCollection属性设置为true,则缓存不会尝试收集未使用的项目。使用此设置时请小心,因为禁用内存收集可能会导致应用程序的内存不足情况。

您可以在web.config中设置它或以编程方式执行此操作,

// 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);