OutputCache e la gestione della cache con ASP.NET

di Daniele Bochicchio, in ASP.NET, OutputCache,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi