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
I più letti di oggi
- Sblocca le performance della tua applicazione con .NET 8
- Utilizzare WebAssembly con .NET, ovunque
- Gestire la cancellazione di una richiesta in streaming da Blazor
- L'evoluzione di Blazor in .NET 8
- gRPC con .NET
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Blazor: Security
- Utilizzare QuickGrid di Blazor con Entity Framework