In questo script continuiamo ad analizzare le peculiarità dell'output cache in ASP.NET Web API, di cui abbiamo già parlato in precedenza:
- https://www.aspitalia.com/script/1225/Attivare-Output-Caching-ASP.NET-Web-API.aspx
- https://www.aspitalia.com/script/1226/Invalidare-Automaticamente-Output-Cache-ASP.NET-Web-API.aspx
In alcuni casi, vogliamo avere maggior controllo sulle logiche di invalidazione: per esempio, non ci basta marcare un'intera action con l'attribute InvalidateCacheOutput, ma vogliamo far sì che la cache sia rinnovata solo quando il salvataggio avviene effettivamente con successo. Per queste necessità possiamo utilizzare le API di invalidazione come nell'esempio seguente:
[CacheOutput(ClientTimeSpan = 10, ServerTimeSpan = 60)] public string Get() { ... } public void Post([FromBody]string value) { // salvataggio... var cache = Configuration .CacheOutputConfiguration() .GetCacheOutputProvider(Request); cache.RemoveStartsWith( Configuration .CacheOutputConfiguration() .MakeBaseCachekey((ValuesController c) => c.Get())); }
Grazie alla lambda expression, potremo specificare la action da invalidare con tanto di supporto dell'intellisense.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Determinare lo stato di un pod in Kubernetes
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Reactive form tipizzati con modellazione del FormBuilder in Angular
Evitare il flickering dei componenti nel prerender di Blazor 8
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Eseguire attività basate su eventi con Azure Container Jobs
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Utilizzare Tailwind CSS all'interno di React: primi componenti
Eseguire attività pianificate con Azure Container Jobs
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Hosting di componenti WebAssembly in un'applicazione Blazor static
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)