ASP.NET Output Cache è un meccanismo fornito da Microsoft che consente di mantenere una copia in memoria del contenuto sottoposto a rendering della pagina ASP.NET. Per questo motivo, ASP.NET può soddisfare le successive richieste degli utenti per questa pagina da una copia memorizzata nella cache invece di rieseguire questa pagina, il che può essere piuttosto costoso a causa delle pesanti chiamate al database.
Pertanto, ASP.NET Output Cache non solo migliora le prestazioni dell'applicazione, ma riduce anche i costosi viaggi del database. Ciò migliora la scalabilità dell'applicazione ASP.NET perché, in caso contrario, il database diventerebbe un collo di bottiglia della scalabilità se tutte le pagine ASP.NET venissero eseguite più e più volte.
Tuttavia, la cache di output di ASP.NET risiede nello spazio degli indirizzi del processo di lavoro ASP.NET in cui il processo di lavoro viene reimpostato o riciclato abbastanza frequentemente. Quando ciò accade, tutta la cache di output di ASP.NET viene persa. In secondo luogo, nel caso di un giardino Web, lo stesso output di pagina viene memorizzato nella cache più volte, una volta in ogni processo di lavoro che consuma molta memoria extra.
NCache Dettagli NCache Docs Cache di output ASP.NET
Leggi anche: Cache di output ASP.NET in Microsoft Azure per migliorare le prestazioni
utilizzando NCache come cache distribuita per la cache di output ASP.NET
Per superare queste limitazioni di ASP.NET Output Cache, NCache ha implementato un provider di cache di output ASP.NET per abilitare la memorizzazione nella cache dell'output di rendering ASP.NET nella cache out-of-process anziché nello spazio degli indirizzi del processo di lavoro. In questo modo, l'output della pagina ASP.NET sottoposta a rendering è disponibile per tutti gli altri server Web nella Web farm senza nemmeno eseguire il rendering della stessa pagina ASP.NET in locale in ogni processo di lavoro.
Utilizzando NCache come provider di cache di output ASP.NET non solo puoi memorizzare nella cache più dati nella cache out-proc, ma puoi anche ridurre drasticamente il carico sul tuo database. Questo perché ogni output di pagina ASP.NET sottoposto a rendering è accessibile a tutti i server Web nella Web farm senza eseguire il processo di rendering della pagina in ogni processo di lavoro che comporta costosi viaggi del database.
Per di più, NCache ti dà la flessibilità di memorizzare nella cache anche l'output di alcune parti della tua pagina ASP.NET invece della pagina completa. Questo approccio è molto utile negli scenari in cui si desidera eseguire il rendering di determinate parti di ASP.NET ogni volta. Inoltre, NCache fornisce inoltre un'elevata disponibilità perché anche se il processo di lavoro viene reimpostato o riciclato, i dati non vengono persi poiché non fanno parte dello spazio degli indirizzi del processo di lavoro e risiedono su server di memorizzazione nella cache separati.
Passaggi per la configurazione NCache Provider di memorizzazione nella cache di output
Passo: 1 Registrati NCache come provider di cache di output ASP.NET
Modifica il file web.config della tua applicazione ASP.NET per registrarti NCache fornitore di cache di output come segue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<caching> <outputcache defaultprovider="NOutputCacheProvider"> <providers> <add name="NOutputCacheProvider" type="NCOutputCache.NOutputCacheProvider" exceptionsenabled="true" enablelogs="false" cachename="mypartitionofReplicaCache"> </add></providers> </outputcache> </caching> <compilation debug="true" targetframework="4.0"> <assemblies> <add assembly="Alachisoft.NCache.OutputCache, Version=4.1.0.0, Culture=neutral"> </add></assemblies> </compilation> |
Passaggio: 2 Aggiungi il tag della cache di output ASP.NET
Aggiungi il tag della cache di output sotto menzionato a quelle pagine di cui desideri memorizzare nella cache l'output.
1 2 |
<%@ OutputCache VaryByParam="ID" Duration="300" %> |
Inoltre, le versioni di ASP.NET precedenti a ASP.NET 4.0 non forniscono il supporto dei provider di cache di output ASP.NET personalizzati. Pertanto, per supportare tutte le versioni precedenti di ASP.NET, NCache ha anche implementato un'altra versione del provider della cache di output ASP.NET utilizzando un HttpModule. Questo HttpModule basato sul provider di cache di output ASP.NET di NCache consente di utilizzare la cache distribuita per archiviare l'output della pagina ASP.NET di cui è stato eseguito il rendering, anche se l'applicazione utilizza versioni di ASP.NET precedenti alla 4.0.
Conclusione
In sintesi, utilizzando NCache provider di cache di output è possibile aumentare facilmente il tempo di risposta dell'applicazione ASP.NET e ridurre il carico del database. Quindi, prepara i tuoi attrezzi e inizia a usarli NCache per un'esperienza molto più veloce e affidabile!
NCache Dettagli Scaricare NCache Confronto edizione
Imposta conf in modo che contenga la posizione per gli archivi localizzati. Utilizzato dal codice DistributedCache interno.