Condividi tramite


Elemento outputCache per caching (schema delle impostazioni ASP.NET)

[Questa documentazione ha solo scopo di anteprima ed è soggetta a modifiche nelle versioni successive. Gli argomenti vuoti sono inclusi come segnaposto.]

Specifica le impostazioni della cache di output a livello di applicazione.

<outputCache enableOutputCache="true|false" 
             enableFragmentCache="true|false" 
             sendCacheControlHeader="true|false" 
             omitVaryStar="true|false"
             defaultProvider="AspNetInternalProvider">
</outputCache>

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo

Descrizione

enableOutputCache

Attributo Boolean facoltativo.

Attiva/disabilita la cache di output delle pagine.

Se disabilitato, nessuna pagina viene memorizzata nella cache, indipendentemente delle impostazioni dichiarative o a livello di codice.

Il valore predefinito è true.

enableFragmentCache

Attributo Boolean facoltativo.

Attiva/disabilita la cache dei frammenti di applicazione.

Se disabilitato, nessuna pagina verrà memorizzata nella cache, indipendentemente dalla direttiva @ OutputCache o dal profilo di memorizzazione nella cache utilizzato. Include un'intestazione di controllo cache indicante che i server proxy a monte e i client browser non devono tentare di memorizzare l'output delle pagine nella cache.

Il valore predefinito è false.

sendCacheControlHeader

Attributo Boolean facoltativo.

Ottiene o imposta un valore che indica se l'intestazione cache-control:private viene inviata dal modulo della cache di output per impostazione predefinita.

Il valore predefinito è false.

omitVaryStar

Attributo Boolean facoltativo.

Attiva/disabilita l'invio di un'intestazione "Vary: *" HTTP nella risposta. Con l'impostazione predefinita, false, viene inviata un'intestazione "Vary: *" per le pagine memorizzate nella cache di output.

Il valore predefinito è false.

defaultProvider

Attributo stringa facoltativo.

Ottiene o imposta il provider predefinito della cache di output.

Il valore predefinito è "AspNetInternalProvider". Si tratta della cache in memoria fornita da ASP.NET.

Elementi figlio

Elemento

Descrizione

providers

Un elemento figlio facoltativo che può essere utilizzato per configurare provider personalizzati della cache di output.

Elementi padre

Elemento

Descrizione

configuration

È l'elemento di primo livello necessario in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

system.web

Specifica l'elemento di primo livello per le impostazioni di configurazione ASP.NET in un file di configurazione. Contiene gli elementi per la configurazione di applicazioni Web ASP.NET e il controllo del comportamento delle stesse.

caching

Configura le impostazioni della cache per un'applicazione Web.

Note

Configurazione predefinita

Il seguente elemento outputCache predefinito non viene configurato in modo esplicito nel file di configurazione del computer o nel file Web.config a livello di radice, ma è la configurazione predefinita restituita da un'applicazione in .NET Framework versione 2.0.

<outputCache enableOutputCache = "true" 
             enableFragmentCache = "true" 
             sendCacheControlHeader = "true" 
             omitVaryStar = "false"
             defaultProvider="AspNetInternalProvider">
</outputCache>

Nell'esempio riportato di seguito viene illustrato come disabilitare la cache di output per un'applicazione ASP.NET:

<outputCache enableOutputCache="false" />

Memorizzazione estensibile dell'output nella cache

ASP.NET consente di estendere la memorizzazione nella cache di output e di configurare uno o più provider di cache di output personalizzati. I provider di cache di output possono utilizzare qualsiasi meccanismo di archiviazione per rendere persistente il contenuto HTML. Queste opzioni di archiviazione possono includere dischi locali o remoti, archiviazione di tipo cloud e motori di cache distribuiti.

L'estendibilità dei provider di cache di output consente di progettare strategie di memorizzazione nella cache di output più aggressive e più intelligenti per i siti Web. È ad esempio possibile creare un provider di cache di output per la memorizzazione nella cache delle "prime 10" pagine di un sito in memoria, mentre le pagine con un traffico minore vengono memorizzate su disco. In alternativa, è possibile memorizzare nella cache ogni diversa combinazione di una pagina di cui è stato eseguito il rendering, utilizzando tuttavia una cache distribuita, in modo che il consumo di memoria venga scaricato dai server Web front-end.

È possibile creare un provider di cache di output personalizzato come classe derivata dal tipo OutputCacheProvider. È quindi possibile configurare il provider nel file Web.config utilizzando la nuova sottosezione providers dell'elemento outputCache .

Per impostazione predefinita, in ASP.NET, per tutti i controlli, le pagine di cui è stato eseguito il rendering e le risposte HTTP viene utilizzata la cache di output in memoria, inclusa nell'esempio precedente (dove l'attributo defaultProvider è impostato su AspNetInternalProvider). È possibile modificare il provider di cache di output predefinito utilizzato per un'applicazione Web specificando un nome di provider diverso per defaultProvider.

È inoltre possibile selezionare provider di cache di output diversi per singoli controlli e singole richieste. Il modo più semplice per specificare un provider di cache di output diverso per controlli utente Web diversi consiste nell'eseguire questa operazione in modo dichiarativo utilizzando il nuovo attributo providerName in una direttiva Page o Control, come illustrato nell'esempio seguente:

<%@ OutputCache Duration="60" VaryByParam="None" 
    providerName="DiskCache" %>

È possibile per specificare un provider di cache di output diverso per una richiesta HTTP ed è possibile eseguire l'override del metodo GetOutputCacheProviderName nel file Global.asax, per specificare a livello di codice il provider da utilizzare per una richiesta specifica.

Vedere anche

Attività

Walkthrough: Using Output Caching to Enhance Web Site Performance

How to: Lock ASP.NET Configuration Settings

Riferimenti

OutputCache

Concetti

ASP.NET Caching Overview

Securing ASP.NET Configuration

ASP.NET Configuration Scenarios

Altre risorse

Configuring ASP.NET Applications