Application o cache?

lunedì 17 novembre 2008 - 14.38

Amodio Profilo | Expert

salve
dovrei rendere disponibili a tutti gli utenti del sito la gestione dei record FISSI, con delle categorie di prodotti
quindi immaginate che non verranno mai cambiate e tutti gli utenti per non sovraccaricare il database devono poter accedere a tali dati
in questa pagina : [url]http://www.fucinaweb.com/fw/aspnet13/[/url]
parla di mantenerla nella cache, ma sebbene so che l'oggetto application puo rendere disponibile e condividere risorse tra tutti utenti

cosa mi consigliate di usare?
grazie

rossimarko Profilo | Guru

Ciao,

se devi tenere dei dati in memoria l'oggetto da utilizzare è sicuramente la cache. E' stata creata apposta per contenere dei dati (a differenza dell'application) e ti consente di specificare diverse politiche di mantenimento dei dati (http://msdn.microsoft.com/en-us/library/18c1wd61.aspx); puoi dare delle priorità, puoi definire delle dipendenze da file ecc.

Un'altra cosa da valutare è se utilizzare la cache di output di asp.net (ne parlano anche nell'articolo che hai segnalato). Con questa funzionalità in pratica la pagina viene elaborata una volta e poi viene tenuta in memoria per le richieste successive.
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Amodio Profilo | Expert

non capisco quindi la differenza
anche con application riesco a tenere dati in memoria

anzi l'articolo che ho linkato spiega appunto che application è condivisa tra tutti gli utenti, ma non dice lo stesso di cache
della cache inoltre dice che è piu veloce , ma non dice che se sia condivisa o meno



p.s.
non trovo da nessuna parte quanto dura in memoria
e neanche se esiste una proprietà expiration, sia application che cache

rossimarko Profilo | Guru

La Cache, come l'application, è condivisa con tutti gli utenti.
L'expiration della cache la imposti quando aggiungi un elemento, direttamente nel metodo add. Nel link che ti avevo mandato c'erano alcuni esempi apposta sull'expiration o su come impostare una dipendenza da file.

Il perchè usare la cache invece che l'oggetto application invece è spiegato qui: http://msdn.microsoft.com/en-us/library/ms178597.aspx

Te lo riporto:

"The application cache provides a programmatic way for you to store arbitrary data in memory using key/value pairs. Using the application cache is similar to using application state. However, unlike application state, the data in the application cache is volatile, meaning it is not stored in memory for the life of the application. The advantage of using the application cache is that ASP.NET manages the cache and removes items when they expire or become invalidated, or when memory runs low. You can also configure application caching to notify your application when an item is removed. For more information see Caching Application Data.

The pattern when using the application cache is to determine whether an item exists in the cache any time you access an item, and if it does, to use it. If the item does not exist, you can recreate the item and then place it back in the cache. This pattern ensures that you always have the latest data in the cache. "
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5