Ho una semplice visione parziale che sto rendendo a mio avviso principale con:ASP.NET MVC 3 Page parziale uscita di caching non onorare impostazioni di configurazione
@Html.Action("All", "Template")
Il mio controller ho questo:
[OutputCache(CacheProfile = "Templates")]
public ActionResult All()
{
return Content("This stinks.");
}
E nel mio config questo:
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<clear/>
<add name="Templates" duration="3600" varyByParam="none"/>
</outputCacheProfiles>
</outputCacheSettings>
<outputCache enableOutputCache="false" enableFragmentCache="false" />
</caching>
questo non riuscirà a runtime con l'eccezione:
Errore durante l'esecuzione richiesta figlio per handler 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper
E eccezione interna:
durata deve essere un numero positivo
Ora ovviamente non sta rilevando le mie impostazioni web.config, perché se lo cambio in:
[OutputCache(Duration = 3600)]
Si lavorerà, a meno di notare anche nel mio web.config ho spento enableOutputCache e enableFragmentCache, ma non rispetta queste impostazioni.
Stranamente, in una vista normale queste impostazioni funzionano bene, quindi che cos'è per le viste parziali che sta rompendo questo? Mi sto perdendo qualcosa? The Gu says this should work just fine... In breve, è possibile rispettare le impostazioni di memorizzazione nella cache in web.config e, in caso contrario, perché no?
Duplicato: http://stackoverflow.com/questions/4728958/chaching-childactions-using-cache-profiles-wont-work – frennky
Sono simili, ma parlo del mio problema più grande che è che non funziona Rispettare le impostazioni come il fatto che la cache di output è disabilitata. –