Si utilizza cache
in genere quando si desidera migliorare le prestazioni del sito: ridurre le chiamate di database, l'accesso ai file su file system, chiamando i servizi esterni, ecc
Scenario 1
: Si supponga v'è un programma che ha una pagina che elenca tutti prodotti memorizzati nel database. Gli utenti hanno bisogno nella funzionalità di filtraggio dell'elenco dei prodotti (ad esempio su ebay o amazon). Inoltre, è noto che l'elenco di prodotti e funzionalità del prodotto sta cambiando raramente rispetto alla frequenza dell'utilizzo della pagina dell'elenco dei prodotti.
Solution 1
: Qui è possibile utilizzare cache
per ridurre le chiamate al database. È possibile impostare l'elenco prodotti e le funzionalità del prodotto su cache
per eseguire il filtraggio in memoria ed evitare chiamate di database ridondanti. Cache
deve essere invalidato ogni volta che l'elenco dei prodotti o le funzionalità cambiano. Questa soluzione dovrebbe essere OK fino a quando la gestione del consumo di memoria è meno costosa del guadagno in termini di prestazioni.
Come buona risorsa, suggerisco di leggere l'articolo MSDN ASP.NET Caching: Techniques and Best Practices.
In profile
in genere salvare i dati, che è specifico per utente concreto e dovrebbero essere disponibili in ogni momento utente si sistema.
Scenario 2
: Si consideri la stessa applicazione di Scenario 1
ma ora è necessario fornire agli utenti la possibilità di salvare le proprie preferenze di filtro (tipo di elenco di filtri preferiti).
Solution 2
: È possibile creare un tipo di classe dello stato del filtro e memorizzarlo nell'utente profile
. Di conseguenza gli utenti non saranno disturbati nella specifica ancora e ancora parametri di filtro e queste preferenze sarebbero disponibili ogni utente tempo log in.
Session
viene utilizzato per memorizzare informazioni specifiche dell'utente che potrebbe essere accessibile da tutti i web la prossima volta che l'utente effettua il login.
Scenario 3
: Si presume che ci siano applicazioni di e-commerce e marketing che vogliono vedere ciò che sta accadendo sul sito in tempo reale, ovvero vedere quali pagine sono state visitate da alcuni utenti mentre erano connessi. Considerare questo scenario come un'istantanea dell'attività degli utenti selezionata.
Solution 3:
Qui è possibile utilizzare session
per registrare quali URL sono stati visitati dagli utenti e quindi generare report per gli addetti al marketing.
Per quanto riguarda la gestione dello stato, è inoltre possibile fare riferimento a un altro articolo MSDN ASP.NET State Management Overview.
Another good answer che evidenzia la differenza tra oggetti che gestiscono stato dell'applicazione asp.net.
Spero che questo ti abbia aiutato un po '.
hai visto questo? Http: //forums.asp.net/t/983735.aspx –