è il tipo che implementa la cache per un'applicazione Web. HttpContext.Current.Cache
è solo un wrapper e restituisce HttpRuntime.Cache
che non è altro che l'istanza di System.Web.Caching.Cache
.
Aggiornamento
Fare riferimento alle Is it OK to use HttpRuntime.Cache outside ASP.NET applications? per la seconda parte.
Aggiornamento: Perché HttpRuntime.Cache deve essere spostato?
a mio parere personale, HttpContext
è il tipo che viene passato al IHttpHandler.ProcessPostBack
e HttpApplication
espone HttpContext
che è passata IHttpModule.Init
. Ciò garantirebbe l'iniezione di tutte le dipendenze mediante l'iniezione del metodo. Quindi hanno introdotto un livello di riferimento indiretto.
Gli handler e i moduli devono ignorare HttpRuntime su cui sono ospitati. Mentre si è in una pagina ASP.NET, è consigliabile utilizzare this.Page.Cache
invece HttpContext.Current.Cache
o HttpRuntime.Cache
poiché l'utilizzo di HttpContext.Current comporterebbe un sovraccarico di risoluzione del thread corrente e HttpRuntime.Cache
creerebbe una dipendenza esterna. Page.Cache
viene inizializzato con loche viene passato a ProcessRequest
Perché 'HttpRuntime.Cache' deve essere spostato? –
Aggiornato la mia risposta – Ramesh