2010-05-07 2 views
12

Uso OutputCache in un'applicazione ASP.net MVC. Poiché lo sviluppo con un OutputCache attivo non è molto piacevole, voglio disabilitare OutputCache sui sistemi di sviluppo (macchine locali e server di sviluppo).Disabilita OutputCache sul sistema di sviluppo

Qual è il modo migliore per farlo?

+0

Una nuova la domanda duplicata ha trovato una risposta interessante per la situazione in cui si desidera modificare la cache di output, ma non tutti: [usa i profili di cache] (http://stackoverflow.com/questions/4662424/bypass-outputcache-in-asp-net -mvc/4665245 # 4665245). – patridge

risposta

14

Si tratta di un vecchio, ma ...

insieme questo nel tuo web.config sotto system.web

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

Non dovrebbe essere falso invece che vero? – ashes999

+0

Sì, corretto. grazie –

+0

@TonyBasallo Questo non funziona su IIS Express 8. Perché così? – Freshblood

8

L'OutputCache in ASP.NET può essere attivata e disattivata utilizzando

per le versioni di IIS < 7,0

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

per le versioni di IIS> = 7.0

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

N.B. Io di solito uso entrambi, più sicuro che avere un piede dolorante, e uso una trasformata di configurazione per assicurarmi che la memorizzazione nella cache sia abilitata per le diverse configurazioni in fase di pubblicazione. In mia soluzione a configurazione corrisponde 1 contro 1 con un ambiente

Un'altra tecnica è quella di utilizzare pragma per consentire pezzi di codice per compilare o si compila in base cioè il DEBUG condizionale simbolo compilazione:

#if DEBUG 
    [OutputCache] 
#endif 
+1

La versione pre IIS 7 è necessaria per IIS Express 8 –

+0

Questi due esempi (pre e post IIS7) sono per funzionalità diverse. L'esempio in "" è per ASP.NET OutputCache (https://docs.microsoft.com/en-us/iis/configuration/system.webserver/caching/). L'esempio in '' è per la cache di risposta integrata di IIS (https://docs.microsoft.com/en-us/iis/configuration/system.webserver/caching/). La cache di IIS è interoperabile con OutputCache. – Bago