有没有办法在web.config或global.asax上以某种方式禁用Cache(System.Web.Caching.Cache,而不是aspx页面的OutPut缓存)?
答案 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);