Un tipo di memorizzazione nella cache tipico per le applicazioni server è la memorizzazione nella cache di output. Questo tipo di memorizzazione consente di archiviare codice HTML di cui è stato eseguito il rendering. Il codice HTML archiviato viene servito in risposta a richieste successive per la stessa pagina. È possibile utilizzare la memorizzazione nella cache di output per memorizzare nella cache una pagina Web completa o solo l'output di un controllo ASP.NET. La memorizzazione nella cache di output consente di effettuare le operazioni seguenti:
Configurare ASP.NET per memorizzare nella cache una determinata voce della cache di output per un periodo specifico.
Memorizzare nella cache una versione diversa del contenuto in base alle preferenze relative alla lingua dell'utente o al tipo di browser dei client che visitano l'applicazione.
Memorizzare nella cache una versione mobile di una pagina diversa da una versione ottimizzata per un browser desktop.
Configurare ASP.NET per eliminare voci della cache in base a un evento esterno.
La memorizzazione nella cache di output è estendibile. È possibile utilizzare un provider della cache di output personalizzato in grado di archiviare dati in qualsiasi dispositivo di archiviazione dati.
La cache di output della pagina archivia nella memoria i contenuti di una pagina ASP.NET elaborata. In questo modo, ASP.NET è in grado di inviare una risposta della pagina a un client senza dover eseguire nuovamente il ciclo di vita di elaborazione della pagina. La memorizzazione nella cache di output della pagina risulta particolarmente utile per le pagine che non vengono modificate frequentemente ma la cui creazione richiede una notevole elaborazione. Ad esempio, se si sta creando una pagina Web a traffico elevato per visualizzare dati che non vengono aggiornati frequentemente, la memorizzazione nella cache dell'output della pagina può indurre un notevole incremento delle prestazioni di quella pagina. La memorizzazione nella cache della pagina può essere configurata individualmente per ogni pagina, oppure è possibile creare profili della cache nel file Web.config, che consentono di definire una sola volta le impostazioni di memorizzazione nella cache e di utilizzare le stesse impostazioni per più pagine.
La memorizzazione nella cache di output della pagina fornisce due modelli per la memorizzazione nella cache della pagina: memorizzazione completa e memorizzazione parziale. La memorizzazione completa nella cache della pagina consente di mantenere l'intero contenuto di una pagina in memoria e di utilizzarlo per soddisfare le richieste del client. La memorizzazione parziale nella cache della pagina consente di mantenere parti specificate di una pagina in memoria e la creazione dinamica di altre parti della pagina. Per ulteriori informazioni, vedere Memorizzazione nella cache di parti di una pagina ASP.NET.
La memorizzazione parziale nella cache della pagina può operare in due modi: memorizzazione nella cache a livello di controllo e sostituzione post-cache. La memorizzazione nella cache a livello di controllo, a volte definita anche memorizzazione nella cache a livello di frammento, consente di memorizzare nella cache alcune parti dell'output della pagina, includendo le informazioni in un controllo utente e contrassegnandolo come inseribile nella cache. In questo modo, è possibile memorizzare nella cache un contenuto specifico all'interno di una pagina, mentre la pagina nel suo insieme non viene memorizzata nella cache, ma ricreata a ogni richiesta. Ad esempio, se si crea una pagina in cui vengono visualizzati contenuti sostanzialmente dinamici, come, ad esempio, quotazioni azionarie, ma che include anche sezioni statiche come, ad esempio, riepiloghi settimanali, è possibile inserire queste sezioni statiche nei controlli utente e specificarne la memorizzazione nella cache.
La sostituzione post-cache rappresenta il processo opposto. La pagina nel suo insieme viene memorizzata nella cache, ma i frammenti all'interno della pagina sono dinamici. Ad esempio, se si crea una pagina statica per determinati periodi di tempo, è possibile impostare l'intera pagina come memorizzabile nella cache. Se è stato aggiunto un controllo Label alla pagina in cui viene visualizzato il nome dell'utente, Label non cambierà in caso di aggiornamento della pagina e di utenti diversi, e visualizzerà il nome dell'utente che ha richiesto la pagina prima che fosse memorizzata nella cache. Tuttavia, la sostituzione post-cache consente di configurare la pagina da memorizzare nella cache, ma singole sezioni della pagina vengono contrassegnate come non memorizzabili nella cache. In questo caso, è possibile aggiungere i controlli Label personalizzati a una sezione non memorizzabile nella cache; tali controlli verrebbero creati in modo dinamico per ciascun utente e per ciascuna richiesta della pagina. Per ulteriori informazioni, vedere Memorizzazione nella cache di parti di una pagina ASP.NET.
Memorizzazione di pagine nella cache in base ai parametri di richiesta
Oltre a memorizzare nella cache una singola versione di una pagina, la memorizzazione nella cache dell'output della pagina di ASP.NET fornisce funzionalità per creare più versioni della pagina che variano in base ai diversi parametri di richiesta. Per ulteriori informazioni, vedere Memorizzazione nella cache di più versioni di una pagina.