ASP.NET core 1.1/2.0 Risposta
Aggiungere la risposta caching middleware in questo modo:
public void Configure(IApplicationBuilder application)
{
application
.UseResponseCaching()
.UseMvc();
}
Questo middleware memorizza il contenuto della cache in base alle intestazioni HTTP di caching impostate nella risposta. Puoi dare un'occhiata al resto della risposta per vedere come usare ResponseCache
.
ASP.NET 1.0 Nucleo risposta
Utilizzare la nuova ResponseCache
attributo invece. ResponseCache
non è una sostituzione diretta di OutputCache
poiché controlla solo il caching del client e del proxy utilizzando l'intestazione HTTP Cache-Control.
Se si desidera utilizzare la cache lato server, vedere la domanda StackOverflow this che illustra come utilizzare IMemoryCache
o IDistributedCache
.
// Add this to your controller action.
[ResponseCache(Duration = 3600)]
Ecco un esempio utilizzando i nuovi profili di cache:
// Add this to your controller action.
[ResponseCache(CacheProfile="Cache1Hour")]
// Add this in Startup.cs
services.AddMvc(options =>
{
options.CacheProfiles.Add(
new CacheProfile()
{
Name = "Cache1Hour",
Duration = 3600,
VaryByHeader = "Accept"
});
});
trucchi
La risposta caching middleware smette di funzionare in una varietà di situazioni che si può imparare di più su nel docs. Due comuni che probabilmente colpiranno sono che smette di funzionare se vede un'intestazione HTTP Authorization
o Set-Cookie
.
Bonus Commento
In ASP.NET 4.6, che potrebbe rappresentare profili di cache nel web.config e modifica le impostazioni senza ricompilare il codice. Per ulteriori informazioni su come è possibile spostare i profili di cache sul nuovo config.json, piuttosto che codificarlo con hard in Startup.cs vedere la domanda this.
fonte
2015-06-25 15:18:17
https://github.com/aspnet/Mvc/issues/536 Vedere anche la discussione in questo numero, dovrebbe essere in per RC1 di mvc6 – AndersNS
Grazie per le informazioni! Terrò fuori gli occhi per questo in RC1. –
Mentre stiamo parlando è stato progettato e lavorato: D – davidfowl