2010-05-07 35 views
12

我在一個ASP.net MVC應用程序中使用OutputCache。由於使用活動OutputCache進行開發並不令人愉快,因此我希望禁用開發系統(本地計算機和開發服務器)上的OutputCache。在開發系統上禁用OutputCache

這樣做的最好方法是什麼?

+0

一個較新的重複的問題想出了一個有趣的答案,當你想改變一些輸出緩存但不是全部:[使用緩存配置文件](http://stackoverflow.com/questions/4662424/bypass-outputcache-in-asp-net -mvc/4665245#4665245)。 – patridge 2011-03-24 19:27:23

回答

14

它使用

下的System.Web一箇舊的,但...

這一套在你的web.config

<caching> 
    <outputCache enableOutputCache="false" /> 
</caching> 
+0

這不是假而不是真的? – ashes999 2012-02-13 19:16:16

+0

是的,固定的。謝謝 – 2012-02-17 01:09:42

+0

@TonyBasallo這實際上不適用於IIS Express 8.爲什麼? – Freshblood 2013-09-15 04:05:23

8

在ASP.NET的輸出緩存可以啓用和禁用對於IIS版本< 7.0

<system.web> 
    <caching> 
     <outputCache enableOutputCache="false" /> 
    </caching> 
</system.web> 

爲IIS版本> = 7.0

<system.webServer> 
    <caching enabled="false" /> 
</system.webServer> 

N.B. 我通常使用兩者,比腳疼更安全,並使用配置轉換來確保在發佈時啓用不同配置的緩存。在我的解決辦法的構成上1對應1與環境

的另一種技術是使用編譯指示啓用的代碼段來編譯或不編譯基於即DEBUG條件編譯符號:

#if DEBUG 
    [OutputCache] 
#endif 
+1

IIS Express 8需要預先IIS 7版本8 – 2014-03-24 20:17:23

+0

這兩個示例(IIS7之前和之後)適用於不同的功能。 ''中的示例用於ASP.NET OutputCache(https://docs.microsoft.com/en-us/iis/configuration/system.webserver/caching/)。 ''中的示例用於內置IIS響應緩存(https://docs.microsoft.com/en-us/iis/configuration/system.webserver/caching/)。 IIS緩存可與OutputCache互操作。 – Bago 2018-01-24 00:31:58