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
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Specificare il versioning nel path degli URL in ASP.NET Web API
C# 12: Cosa c'è di nuovo e interessante
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Utilizzare Model as a Service su Microsoft Azure
Semplificare il deployment di siti statici con Azure Static Web App
Configurare policy CORS in Azure Container Apps
Disabilitare automaticamente un workflow di GitHub (parte 2)
Short-circuiting della Pipeline in ASP.NET Core
Gestire i null nelle reactive form tipizzate di Angular
Installare le Web App site extension tramite una pipeline di Azure DevOps
Sostituire la GitHub Action di login su private registry
I più letti di oggi
- Registrare in una matrice il contenuto di una tabella di un database
- Monad diventa Windows PowerShell e va in RC1
- Nasce il DLR: il .NET Framework 3.5 supporta i linguaggi dinamici
- Using Components in Blazor
- Un Rating Custom Control con DropDownList e jQuery
- Performance in .NET 6 https://aspit.co/b9g di @laxxifer