2011-07-27 145 views
5

有沒有什麼辦法來禁用緩存(System.Web.Caching.Cache,而不是輸出緩存的aspx頁面)上web.config或global.asax或以某種方式?禁用asp.net緩存

回答

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