Nei precedenti script ci siamo occupati a fondo del supporto alla cache distribuita in ASP.NET Core. Abbiamo già accennato come uno strumento simile sia una scelta praticamente obbligata quando abbiamo applicazioni nel cloud o, in generale, in load balancing: un layer di cache, comune a tutte le istanze, consente infatti di massimizzare le prestazioni e di togliere carico al database, migliorando di molto la scalabilità del sistema.
In fase di sviluppo, però, potremmo non avere a disposizione un'istanza di Redis Cache "personale", per cui ci potrebbe fare comodo sostituire alla cache distribuita una versione in memory.
Dato che le primitive per accedere alla cache sono esposte da un'interfaccia specifica, IDistributedCache (e da appositi TagHelper), non possiamo pensare di tornare a usare IMemoryCache: questo comporterebbe un rework e una duplicazione di codice praticamante ovunque nella nostra applicazione!
Fortunatamente esiste un provider per IDistributedCache che fa al caso nostro e implementa l'interfaccia sfruttando la cache in memory. Per attivarlo, basta registrarlo nel metodo AddServices di startup.cs:
public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); services.AddDistributedMemoryCache(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Reactive form tipizzati con modellazione del FormBuilder in Angular
Sostituire la GitHub Action di login su private registry
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Eseguire operazioni con timeout in React
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Verificare la provenienza di un commit tramite le GitHub Actions
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Definire lo stile CSS in base alle dimensioni del container
Eseguire operazioni sui blob con Azure Storage Actions
Eseguire le GitHub Actions offline
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Usare un KeyedService di default in ASP.NET Core 8