Con le ASP per implementare meccanismi di caching a livello server, è necessario scrivere fisicamente un file su disco.
Il risultato alle volte è ottimo, ma si perde in flessibilità: è comunque necessario impostare in qualche modo meccanismo che aggiornino ogni tot minuti o giorni il contenuto di queste pagine e non sempre è possibile.
ASP.NET ci viene incontro finalmente con una gestione della cache davvero ottima. Ecco un esempio:
<%@ Page Language = "VB" %> <%@ OutputCache Duration = "60" Location = "server" VaryByParam = "none"%> <SCRIPT runat="server" Language="VB"> Sub Page_Load(sender as Object, e as EventArgs) Dim dtCurrent as DateTime = Now() txtCurrent.text = dtCurrent.toLongDateString() & " " & _ dtCurrent.toLongTimeString() End Sub </SCRIPT> Salvato nella cache <asp:label id="txtCurrent" RUNAT="server" />
Provate ad eseguirlo: per i prossimi 60 secondi, vedrete un messaggio che vi dice più o meno che il file è stato salvato nella cache del server in quel dato istante.
Per tutte le richieste, ASP.NET restituirà questa pagina, già compilata ed elaborata.
L'istruzione OutputCache supporta quest questi attributi:
- VaryByCystom = "browser"
in questo modo per ogni browser, verrà generata una versione differente
- VaryByHeader = "headers separati da ;"
verrà salvata in cache una copia della pagina per ogni richiesta che abbia quelle header
- VaryByParam = "parametri querystring sep da ;"
stessa cosa dell'attributo precedente. Bisogna indicare * per tutti i parametri, separarli da ; oppure none se non si desidera cambiare nulla.
Location serve per specificare dove memorizzare la pagina. Le opzioni più utili sono client e server.
L'attributo Duration, infine, indica per quanti secondi è valida questa impostazione.
Per vedere all'opera lo script:
https://www.aspitalia.com/liste/usag/esempi.asp?ID=334
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire le impostazioni di cache a livello di controller in ASP.NET Core 7
Sfruttare i tag nell'output cache di ASP.NET Core 7
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Gestire dati sensibili nella configurazione in ASP.NET Core
Definire la durata dell'output cache in ASP.NET Core 7
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Sfruttare la local cache del browser tramite gli ETag in ASP.NET Core
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Sfruttare l'output cache di ASP.NET Core 7 con i controller